Возникла странная ситуация, которую я не могу пока что объяснить.
На странице создаётся элемент управления следующим образом:
protected void Page_Load(object sender, EventArgs e)
{
...
this.ctlX = LoadControl("X.ascx") as X;
this.ctlX.Data = ... ;
this.Panel.Controls.Add(ctlX);
...
}
До сих пор во всех решениях, что писались мною, да и среди тех, что обсуждаются в сети, такая схема инициализации элемента управления работала. Происходила загрузка, инициализировались данные и лишь после добавления элемента управления в форму и после окончания работы метода Page_Load формы вызывался Page_Load элемента управления.
Однако достался мне сейчас код, не мною написанный, где поведение элементов управления в эту схему не вписывается. Прямо при вызове LoadControl выполняется Page_Load элемента управления. При этом, естественно, данные в элемент управления ещё не загружены, и возникают исключительные ситуации.
Кто знает, почему Page_Init, Page_Load элемента управления вызываются прямо в момент выполнения функции LoadControl?
P.S. В HTML-коде формы проблемного элемента управления нет, есть только Reference на него.