Thomas Bandt

Über mich | Kontakt | Archiv

[ASP.NET 2.0] Membervariablen deklarativ (User/Custom/Web)-Controls zuweisen.

Ich hatte das "Problem", an ein CustomControl eine erst zur Laufzeit verfügbare ID aus dem Parent-Control bzw. der Parent-Page übergeben zu müssen. Da ich das Control deklarativ eingebunden habe, musste das bisher noch separat im CodeBeside geschehen:

"Test" FieldName="label_Firma" ForeignFieldName="bei_id"
runat="server" />

Test.ForeignFieldValue = ID;

Soweit kein Problem, nur als ich das Control dann mehr als 30x auf der Seite platziert hatte, wurde es nervig - schließlich musste auch die Zuweisung der ID dann über 30 mal erfolgen.

Des Rätsels Lösung: DataBinding funktioniert auch mit Membervariablen. Da ID eine Property der verwendeten Basisklasse des "Hosts" war, stand es mir überall zur Verfügung, also sollte auch das funktionieren:

"Test" FieldName="label_Firma" ForeignFieldName="bei_id"
ForeignFieldValue="<%# ID%>" runat="server" />

Das tut es auch. Wenn man noch ein

Page.DataBind()

hinterher schickt. Das kann sogar bereits im Page_Load() erfolgen.



« Zurück  |  Weiter »