| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > Синхронизация событий контрола и страницы |
| Автор: Idsa 20.12.2007, 16:47 |
| У меня на страничке лежит контрол, от которого я получаю определенный объект в OnLoad (позже нельзя, т. к. это нужно сделать до обработки событий RaiseChangedEvents и RaisePostBackEvents). В свою очередь этот объект принимает нужный мне вид только в событии OnLoad контрола. Подскажите, как можно выйти из этой ситуации, ибо в OnLoad'е страницы объект все еще равен null :( |
| Автор: Idsa 21.12.2007, 00:56 | ||||
В LoadComplete уже пройдут вызовы RaiseChangedEvents и RaisePostBackEvents :(
А вот это, похоже, то, что нужно. Только вот, если я подпишусь на Load контрола из страницы, мой код вызовется после Load самого контрола? Просто, насколько я помню, когда к событию подписано несколько методов, порядок их вызова не определен. Или я ошибаюсь? |
| Автор: tol05 21.12.2007, 10:53 |
| Можно так: введи поле-делегат в контрол. На странице - передавай метод страницы делегату. В контроле, перед сымым выходом из OnLoad, вызывай делегат. Т.о. последовательность такая будет OnLoad страницы стартует OnLoad контрола стартует ... Контрол вызывает делегат OnLoad контрола закончен OnLoad страницы закончен. |
| Автор: Idsa 21.12.2007, 13:48 |
| tol05, идея интересная. Только вот универсальностью и не пахнет :( |
| Автор: tol05 21.12.2007, 14:07 | ||
| в смысле? Какая универсальность? У тебя тоже ситуация не универсальна... К тому же мне непонятно почему: - в класс контрола можно добавлять члены как поля (я имею в виду, что страница, юзер-контрол - это такие же C# классы, как и классы консольных приложений) через добавление на страницу кнопок и гридов - но нельзя добавлять члены класса - делегаты, события и т.п. ??? Все в твоих руках, чем хочешь, тем и работаешь. Можно сделать событие контрола, которое он будет возбуждать сразу после окончания работы с твоими данными, в своем OnLoad.. А на странице подпосаться на это событие. Ничем не будет отличаться от какого-нибудь
ну а впрочем, смотри сам. Хозяин-барин. |
| Автор: Idsa 21.12.2007, 14:57 |
| Пожалуй, соглашусь. Спасибо за помощь. +1. |