У меня такая ситуация:
Мастер-страница MyMaster.Master
Контентная страница Content.aspx
UserControl MyUserControl.ascx
MyUserControl.ascx используется в Content.aspx и добавляется программно. Страница содержимого использует MyMaster.Master
MyMaster.Master имеет переменную, к которой я могу получить доступ из Content.aspx, так как у меня установлена директива @MasterType. Я хочу сделать следующее:
1) Установите значение в MyUserControl.ascx
2) Доступ к значению из Content.aspx
3) Установите значение в MyMaster.Master
Шаг 2 реализован в PageLoad content.aspx следующим образом:
Control ucControl= LoadControl("/UserControls/MyUserControl.ascx");
UserControls_MyUserControl myUC = ucControl as UserControls_MyUserControl;
//Do some caching stuff here
if (myUC != null)
myUC.PreRender += new EventHandler(myUC_PreRender);
Обработчик PreRender просто устанавливает для MyMaster.Master значение true. В MyMaster.Master я проверяю это значение в PageLoad и пытаюсь отобразить что-нибудь, если оно истинно. Это не работает.
Я подозреваю, что это как-то связано с жизненным циклом страницы, но я не могу найти, какая часть неправильная.
Любая помощь очень ценится.
Спасибо