Web forms-Benutzersteuerelemente - LoadControl in pre-init oder page_load?

In der MSDN-Seite lifecycle-Referenz es besagt, dass die pre-init wird verwendet, um "Erstellen oder neu erstellen, dynamische Steuerelemente".

Jedoch anderswo auf der MSDN-Website, ein Beispiel impliziert, dass ein dynamisches user control geladen werden soll, in der Page_Load -

Ist das ein Widerspruch? Oder ist pre-init verwendet, nur für standard aspx-controls?

Was habe ich verpasst 🙂

Edit:
So oder so funktioniert, aber es ist vermutlich etwas zugunsten der einen Ansatz über den anderen.

(WebUserControl1 ist ein UserControl mit einem einfachen label-Eigenschaft, SomeProperty)

protected override void OnPreInit(EventArgs e)
{
    base.OnPreInit(e);
    WebUserControl1 wc1 = LoadControl(@"~\WebUserControl1.ascx") as WebUserControl1;
    wc1.SomeProperty = "Hello World";
    Controls.Add(wc1);
}

protected void Page_Load(object sender, EventArgs e)
{
    WebUserControl1 wc1 = LoadControl(@"~\WebUserControl1.ascx") as WebUserControl1;
    wc1.SomeProperty = "Hello World";
    Controls.Add(wc1);
}
InformationsquelleAutor StuartLC | 2011-12-11
Schreibe einen Kommentar