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.