Binding Usercontrol

05/08/2009 - 15:36 von Holger K. | Report spam
Hallo,

ich habe hier ein Control, welches ich zur Laufzeit mit LoadControl
erstelle.
Jetzt habe ich an einer Stelle ein Problem mit dem Databinding.

Im Grunde ist es so, dass bei einem Postback kein einziges Element
aktualisiert wird. Egal ob ich in der ascx via <%= binde oder explizit ein
Server Control setze (Z.B. label1.Text = "1234").

Beim debuggen wird wie erwartet "Databind" gerufen. Selbst wenn ich hier
manuell den wert für das Label setze und anschließend im PreRender diesen
prüfe - der neue Wert wird nicht angezeigt. "1234" ist immer noch in der
Watchlist für das Label. Jedoch wird etwas anderes gerendert, da Render,
RenderChildControls garnicht erst gerufen wird.

Eventuell kann mir jemand einen Denkanstoß geben. Das Databind wird wie
gesagt gerufen. Setze ich in der ASCX in einem <%= PropertyWert %> einen
Breakpoint, wird dieser nur beim Reload ausgeführt, jedoch nicht beim
Postback. Trotzdem wird hier wie beschrieben das Databind in der Codebehind
aufgerufen, jedoch nicht das Render.

Eine Art Caching ist nicht aktiv... Eventuell hat es damit was zu tun, dass
das über "LoadControl" geladene Control, wiederrum in einem Control erzeugt
wird, welches auch generisch erst im OnInit über LoadControl erzeugt wird...

*grübel*

Grüße Holger
 

Lesen sie die antworten

#1 Holger K.
05/08/2009 - 15:56 | Warnen spam
Danke fürs lesen :) Aber ich hab die Ursache entdeckt.
Der Container in dem diese Controls erstellt werden, war außerhalb des
UpdatePanels der Page. :-)

Das erklàrt dann auch das verhalten.

Grüße

Ähnliche fragen