Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамически подключаемые контролы. / 4 сообщений из 4, страница 1 из 1
12.04.2004, 07:58
    #32476982
maxapet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамически подключаемые контролы.
Имеется такая структура: базовая страница, наследник класса Page , которая разделена на области - меню, контент и т.д. По команде меню устанавливается свойство Mode базовой страницы, определяющее какой контент будет отображаться.

Последовательность действий такая:
1) В процедуре CreateChildControls создаются все необходимые контролы, определяемые свойством Mode , и заносятся в соответствующие разделы базовой страницы.
2) Обрабатывается событие выбора пункта Menu , которое, если необходимо, устанавливает новое значение Mode и взводит флаг, извещающий о том, что режим изменён.
3) В событии PreRender проверяется, изменилось ли свойство Mode . И если оно изменилось, то контрол, созданный в CreateChildControls удаляется, а нужный контрол создаётся и помещается на его место.

И это работает. За одним исключением - если контрол как-то реагирует на события (например, DataGrid со страницами или Calendar ), то первое нажатие мыши он пропускает, т.е. DataGrid не переключает страницы, а Calendar не отмечает выбранную дату. На последующие нажатия реакция нормальная. Оно понятно, почему так происходит - нет ViewState для этих компонент, пока они не будут загружены на страницу. Если компонент создавать в CreateChildControls , то всё работает нормально. Но событие от меню обрабатывается позже, чем вызывается процедура CreateChildControls , поэтому неизвестно, какой компонент создавать.
Как заставить их - DataGrid со страницами или Calendar - работать нормально с первого нажатия? Или как на этапе выполнения CreateChildControls узнать какой компонент создавать? А может быть есть другое решение этой проблемы?
...
Рейтинг: 0 / 0
13.04.2004, 10:29
    #32478601
maxapet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамически подключаемые контролы.
Жаль, что ни у кого нет никаких идей по этому поводу...
...
Рейтинг: 0 / 0
13.04.2004, 11:17
    #32478724
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамически подключаемые контролы.
трудно так навскидку сказать, но может быть писать в куки или переменную сессии какой-то флаг и уже опираться на его значение?
...
Рейтинг: 0 / 0
13.04.2004, 18:44
    #32479864
maxapet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамически подключаемые контролы.
Дело было в том, что я не задавал значения ID контролов. Как только я их задал, так всё сразу заработало как я и хотел!
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамически подключаемые контролы. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]