У меня проблема с программно созданными пользовательскими элементами управления.
Из моих тестов добавление пользовательского элемента управления в коллекцию другого элемента управления запускает жизненный цикл пользовательского элемента управления.В частности, он вызывает элемент управления Page_Load
.Кто-нибудь знает, есть ли способ запустить жизненный цикл пользовательского элемента управления ДО вызова метода Controls.Add ()?
Default.aspx code
<asp:PlaceHolder1 ID="PlaceHolder1" runat="server" />
protected void Page_Init(object sender, EventArgs e)
{
var module = LoadControl("~/Module.ascx") as Module;
// If this line of code does not execute, the Page_Load method never executes in the user control.
//PlaceHolder1.Controls.Add(module);
}
Module.ascx код
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# Container.DataItem %>
</ItemTemplate>
</asp:Repeater>
protected void Page_Load(object sender, EventArgs e)
{
Repeater1.DataSource = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Repeater1.DataBind();
}