У меня есть пользовательский элемент управления (.ascx) в моем проекте, который я добавляю на страницу программно в обработчике события Page_Load страницы, например:
Controls.Add(new MyProject.Controls.ControlWidget());
Databind();
Когда я пытаюсь получить доступ к дочерним элементам управления изнутри самого элемента управления, они не существуют.
public override void DataBind()
{
myrepeater.DataSource = GetDataSource();
// throws an exception because myrepeater is null
base.DataBind();
}
Как получить доступ к дочерним элементам управления пользовательского элемента управления? Я попытался добавить вызов EnsureChildControls () в переопределение DataBind (), но, похоже, это не имеет значения.