В справочнике по жизненному циклу MSDN указано, что предварительный запуск используется для «Создания или повторного создания динамических элементов управления».
Однако в другом месте MSDN , пример подразумевает, что динамический пользовательский элемент управления должен быть загружен в Page_Load
Это противоречие? Или pre-init используется только для стандартных элементов управления aspx?
Что я пропустил:)
Изменить:
В любом случае, однако, один подход имеет преимущество над другим.
(WebUserControl1 - это UserControl с простым свойством метки, 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);
}