Datenübergabe an User Control

17/03/2008 - 19:26 von Andreas Gruhlke | Report spam
Hallo Allerseits!

ich habe ein einfaches User Control erstellt, das aus ein paar divs und
labels besteht.
Ziel ist eigentlich nur, nicht die immer wiederkehrenden divs hinschreiben
zu müssen, sondern ein fertiges zweispaltiges UserControl zu haben.
Das user control hat ein paar Eigenschaften, die beim Page_Load des
usercontrols zugewiesen werden.
Es wird so aufgerufen:
<ucLabelText:MyUserControl1 ID="uc_Remarks"
InnerDivClassRight="Rechts"
InnerDivClassLeft="Links"
LabelText="Remarks"
LabelTextRechts='<%# DataBinder.Eval(Container.DataItem, "Remarks") %>'
OuterDivClass="Container BorderBottom" runat="server" />

Grundsàtzlich geht alles, nur wenn ich wie im Beispielcode Daten (also hier
die 'Remarks') übergeben möchte, funktioniert das nicht.
Es liegt anscheinend daran, dass Page_Load vom UserControl schon durch ist,
bevor der Dateninhalt übergeben wird.
Was kann ich da machen?

Gruß
Andreas
 

Lesen sie die antworten

#1 Thomas Bandt
17/03/2008 - 20:12 | Warnen spam
Andreas Gruhlke schrieb:
Grundsàtzlich geht alles, nur wenn ich wie im Beispielcode Daten (also hier
die 'Remarks') übergeben möchte, funktioniert das nicht.
Es liegt anscheinend daran, dass Page_Load vom UserControl schon durch ist,
bevor der Dateninhalt übergeben wird.
Was kann ich da machen?



Dieses hier ansehen:
http://www.aspnetzone.de/photos/pet...ginal.aspx

Dann Tracen bzw. Debug-Punkte in den einzelnen Stellen
setzen und gucken was wann wie wo passiert. Dann die
richtigen Events für den Zeitpunkt des DataBinding
und der Ausgabe wàhlen.

Grundsàtzlich macht es Sinn die Daten immer so früh wie
möglich, z.B. im OnInit zu binden, dann hast du im
Control selbst freie Hand.

Quick'n Dirty wàre im Control einfach alles von Page_Load()
in OnPreRender() zu verfrachten.

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de - Beratung, Entwicklung
http://www.dotnetjob.de - .NET-Stellenbörse
https://www.xing.com/net/asp.net/ - ASP.NET bei XING
http://blog.thomasbandt.de - Thomas goes .NET

Ähnliche fragen