Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.11.2005, 16:46
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
такая беда, на страничке меню, по клику на элементе меню в заданную панель подгружается контрол вот таким макаром: Control c=Page.LoadControl(controlname); ContentPanel.Controls.Add(c); c.DataBind(); Session["Control"]=c; тут все OK, контрол загрузился, дальше допустим происходит постбэк, чтобы контрол не исчез в PageLoad написала вот такой текст if (!(Session["Control"]==null)) { ContentPanel.Controls.Clear(); ContentPanel.Controls.Add((Session["Control"] as UserControl)); } все вроде работает. Но иногда такой динамически загруженный юзерконтрол глючит. Например у меня есть в юзерконтроле дерево, по клику меняется SelectedItem в дереве и происходит нужное событие. Так вот при динамической загрузке контрола получается что при первом клике все нормально отрабатывается, итем выбирается, событие происходит, а при втором клике получается что курсор обратно перескакивает на итем который выделили до того и событие не происходит. Если тот же UserControl добавлять к страничке статически, то все OK, все нормально работает, события отрабатывают, т.е. дело тут видимо в динамической загрузке юзерконтрола. Где я промахнулась? Может подгружать при постбеке надо как-то по-другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2005, 17:32
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
задавай контролу одинаковый id при первом создании и при последующих восстановлениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2005, 17:34
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
т.е. запоминать id а не контрол? так чтоли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2005, 17:43
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
нет, просто убедись, что при восстановлении контрола у тебя ID такой же какой и был когда ты его создавал первый раз. я сам не пробовал контролы в сессию сохранять, просто первое что приходит в голову, когда при динамическом создании контролов не отрабатывают события - это что при втором создании контрола у него меняется ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2005, 18:08
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
хотя похоже у тебя не из-за этого проблема. ведь первый клик отрабатывается, значит ид тут ни при чём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2005, 18:12
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
id не причем, проверила в полученном HTML-ле, id-шник такм не меняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2005, 20:03
|
|||
|---|---|---|---|
dinamic User Control Loading |
|||
|
#18+
Не слишком въехал в проблему, но кажется что-то намудрили тут Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2005, 20:53
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
а нафиг вообще держать контрол в сессии? каков смысл? 2Axeleron , присоединяюсь... _______________________________________________________ Господи, сколько ещё не сделано... А сколько ещё предстоит не сделать...! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2005, 07:52
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
Лиман Артём, а как иначе сдлеать чтобы он не исчезал при постбеке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2005, 13:51
|
|||
|---|---|---|---|
|
|||
dinamic User Control Loading |
|||
|
#18+
нашла грабли, надо не контрол в сессии сохраняь, а его название и каждый раз делать Page.LoadControl(ControlName) и ID ему одинаковый устанавливать, иначе контрол при загрузке не инициализируется правильно и у него события пропадают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=18&tablet=1&tid=1393300]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 352ms |

| 0 / 0 |
