![]() |
|
Модераторы: gambit |
![]()
|
|
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
У меня на страничке лежит контрол, от которого я получаю определенный объект в OnLoad (позже нельзя, т. к. это нужно сделать до обработки событий RaiseChangedEvents и RaisePostBackEvents). В свою очередь этот объект принимает нужный мне вид только в событии OnLoad контрола. Подскажите, как можно выйти из этой ситуации, ибо в OnLoad'е страницы объект все еще равен null :(
Это сообщение отредактировал(а) Idsa - 21.12.2007, 00:57 |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Вопрос непонятен.
В OnLoad страницы или контрола? Load генерируется сначала для страницы, а потом - для ее контролов... Можно написать метод страницы, который подписать на Load контрола. И в нем делать то, что тебе нужно.. А еще лучше подписаться на событие LoadComplete страницы - как раз ее Load и Load контролов закончился. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Idsa |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
В LoadComplete уже пройдут вызовы RaiseChangedEvents и RaisePostBackEvents :(
А вот это, похоже, то, что нужно. Только вот, если я подпишусь на Load контрола из страницы, мой код вызовется после Load самого контрола? Просто, насколько я помню, когда к событию подписано несколько методов, порядок их вызова не определен. Или я ошибаюсь? |
||||
|
|||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Можно так:
введи поле-делегат в контрол. На странице - передавай метод страницы делегату. В контроле, перед сымым выходом из OnLoad, вызывай делегат. Т.о. последовательность такая будет OnLoad страницы стартует OnLoad контрола стартует ... Контрол вызывает делегат OnLoad контрола закончен OnLoad страницы закончен. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
tol05, идея интересная. Только вот универсальностью и не пахнет :(
|
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
в смысле? Какая универсальность? У тебя тоже ситуация не универсальна...
К тому же мне непонятно почему: - в класс контрола можно добавлять члены как поля (я имею в виду, что страница, юзер-контрол - это такие же C# классы, как и классы консольных приложений) через добавление на страницу кнопок и гридов - но нельзя добавлять члены класса - делегаты, события и т.п. ??? Все в твоих руках, чем хочешь, тем и работаешь. Можно сделать событие контрола, которое он будет возбуждать сразу после окончания работы с твоими данными, в своем OnLoad.. А на странице подпосаться на это событие. Ничем не будет отличаться от какого-нибудь
ну а впрочем, смотри сам. Хозяин-барин. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Пожалуй, соглашусь.
Спасибо за помощь. +1. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |