Custom Control unter ASP.Net erstellen

Miriam Walter

Grünschnabel
Hallo Zusammen,
ich bin jetzt schon längere Zeit nach einer Lösung am Suchen habe allerdings noch nichts wirklich hilfreiches gefunden.
Vlt war ich auch zu blöd ;)

Also ich hab folgendes Problem:
Ich würde gerne ein Custom Control, welches z.B. ein UpdatePanel mit einem GridView verbindet, erstellen.
Aufgerufen werden sollte es dann über HTML wie folgt
HTML:
<%@ Register CustomControl-dll mit TagPrefix Test %>
<Test:MeineGridView DataSource="..." usw></Test:MeineGridView>
Gibt es hierfür ein schönes Tutorial?

Diese Funktion über ein ASCX-Control zu lösen, habe ich auch schon überlegt. Allerdings ist dies ein wenig unschön, wenn ich das ASCX dann über eine dll aufrufen muss...
Code:
 MeineGridView Test = new CustomDll.MeineGridView(DataSource);
Test.AddGridBoundColumn("Test", "DataField");
Test.ID = "TestGrid";
this.PlaceHolder.Controls.Add(Test);
 
Hallo Alle Zusamen,
ich habe nun für mein Problem eine Lösung gefunden.

Code:
[DefaultProperty("MeineGridView"),
    ToolboxData("<{0}:MeineGridView runat=\"server\"></{0}:MeineGridView>"),
    Browsable(true)]

Ich erbe nicht von der Base GridView sondern lege nur eine MemberVariable im CustomControl an.
Anschließend setze ich alle von WebControl geerbten Properties so, dass diese nicht im ContextMenü angezeigt werden.

Code:
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

Anschließend initalisieren ich ein UpdatePanel und füge diesem meine GridView hinzu.
Code:
this.Update = new UpdatePanel();
this.Update.ID = "TheUpdatePanel";
this.Update.EnableViewState = true;
this.Update.ChildrenAsTriggers = true;
this.Controls.Add(this.Update);

Jedoch stoße ich nun auf folgendes Problem, wie erstelle ich ein komplexes Custom Control, wie z.B.
HTML:
<Test:MeineGridView>
  <Test:MeineMasterPageView>
    <Test:MeineSpalte></Test:MeineSpalte>
  </Test:MeineMasterPageView>
</Test:MeineGridView>
?

Vielen Dank schon mal im Vorraus.
Miriam
 
Zurück