Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Добрый день! Возникла необходимость при postback'е проделать некоторое действие перед тем как сработают события с котролов (например button_Click), но после того данные, ведённые пользователем в TextBox'ы будут получены серверными контролами. Сами TextBox'ы создаются динамически (если не динамически, то всё ясно — в Page_Load их данные уже получены, а в нашем случае почему-то нет). Вопрос: Как этого добиться? ни одно из событий страницы не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 15:31 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, PrettyFly, Вы писали: PF>Добрый день! PF>Возникла необходимость при postback'е проделать некоторое действие перед тем как сработают события с котролов (например button_Click), но после того данные, ведённые пользователем в TextBox'ы будут получены серверными контролами. Сами TextBox'ы создаются динамически (если не динамически, то всё ясно — в Page_Load их данные уже получены, а в нашем случае почему-то нет). на какой стадии добавляются контролы? вообще-то состояние контрола пытается подняться при добавлении на страницу. Покажи код добавления или погугли(и на этом форуме не раз подымался этот вопрос) dynamic add controls PF>Вопрос: Как этого добиться? ни одно из событий страницы не помогает.... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 15:41 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, cadet354, Вы писали: C>на какой стадии добавляются контролы? C>вообще-то состояние контрола пытается подняться при добавлении на страницу. C>Покажи код добавления или погугли(и на этом форуме не раз подымался этот вопрос) dynamic add controls Контролы добавляются в Page_Load(), например так: protected void Page_Load(object sender, EventArgs e) { tb = new TextBox(); PlaceHolder1.Controls.Add(tb); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 15:47 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Добрый день! Возникла необходимость при postback'е проделать некоторое действие перед тем как сработают события с котролов (например button_Click), но после того данные, ведённые пользователем в TextBox'ы будут получены серверными контролами. Сами TextBox'ы создаются динамически (если не динамически, то всё ясно — в Page_Load их данные уже получены, а в нашем случае почему-то нет). Вопрос: Как этого добиться? ни одно из событий страницы не помогает. Если контрол создается динамически то лучше это делать в Init. Тогда при PostBack он востанавливают свое состояние в LoadViewState, это как раз происходит между Init и Page_Load и в Page_Load можно с ним работать. Где наша мудрость, потерянная ради знаний, где наши знания, потерянные ради информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 15:52 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
PF>Контролы добавляются в Page_Load(), например так: PF> PF> protected void Page_Load(object sender, EventArgs e) PF> { PF> tb = new TextBox(); PF> PlaceHolder1.Controls.Add(tb); PF> } PF> Контрол считывает свое состояние при добавлении его в дерево. Если PlaceHolder1 у тебя уже в дереве, помешать контролу считать свое состояние могут две вещи — разница имен родителя (или собственных) и отмена хранения данных во ViewState (свойство EnableViewState для контрола). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 15:52 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Nikolay_Ch, Вы писали: N_C>Контрол считывает свое состояние при добавлении его в дерево. Если PlaceHolder1 у тебя уже в дереве, помешать контролу считать свое состояние могут две вещи — разница имен родителя (или собственных) и отмена хранения данных во ViewState (свойство EnableViewState для контрола). Имена контролов я вообще не задаю, все они создаются одним и тем же алгоритмом в одном и том же порядке. PlaceHolder1 задан декларативна в aspx-файле. Но самое интересное, что контролы всё-тки считывают состояние, в событии button_Click значения уже загружены. Вопрос в том, что мне надо их получить до этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 16:02 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Если контрол создается динамически то лучше это делать в Init. Тогда при PostBack он востанавливают свое состояние в LoadViewState, это как раз происходит между Init и Page_Load и в Page_Load можно с ним работать. Извиняюсь небольшая поправочка: в данном случае наверное требуется достать значение TextBox введенное пользователем, так это происходит в Load Postback Data, а не в Load ViewState. В остальном все правильно Load Postback Data происходит там же между Init и Page_Load, сразу после Load ViewState. Где наша мудрость, потерянная ради знаний, где наши знания, потерянные ради информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 16:05 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Sergio, Вы писали: S>Если контрол создается динамически то лучше это делать в Init. Тогда при PostBack он востанавливают свое состояние в LoadViewState, это как раз происходит между Init и Page_Load и в Page_Load можно с ним работать. Спасибо, вроде так работает (-: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 16:06 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Nikolay_Ch, Вы писали: N_C>Контрол считывает свое состояние при добавлении его в дерево. Если PlaceHolder1 у тебя уже в дереве, помешать контролу считать свое состояние могут две вещи — разница имен родителя (или собственных) а вы в этом уверены, недавно смотрел рефлектором, получалось что от имени контрола(его id) это не зависит, view state подгружается согласно индексу. Просто у меня возникла такая ситуация, я задавал id у контрола, но все равно падал по стандартному в этих случаях exception (Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. ) N_C> и отмена хранения данных во ViewState (свойство EnableViewState для контрола). именно так и сделал, хранил отдельно какой контрол был загружен, если изменился, то отключал ViewState в контроле, потом добавлял в placeholder, потом включал :) Заранее спасибо за ответ.... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 16:52 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Sergio, Вы писали: S>Если контрол создается динамически то лучше это делать в Init. Тогда при PostBack он востанавливают свое состояние в LoadViewState, это как раз происходит между Init и Page_Load и в Page_Load можно с ним работать. Это уже давно не так. D частности, Controls.Add вызывает попытку поднятия ViewState добавляемого элемента управления.У нас "два" по всем наукам, но ботанику мы знаем на "пять"! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 14:43 |
|
||
|
Вопрос по Life Cycle
|
|||
|---|---|---|---|
|
#18+
Это уже давно не так. D частности, Controls.Add вызывает попытку поднятия ViewState добавляемого элемента управления. Каюсь, не знал ! Спасибо! "уже давно не так" - имеется ввиду ASP.NET 2.0? И тогда вопрос. Проблема у автора была на самом деле с Load PostBackData, а не с Load ViewState. В этом случае тоже можно полагаться на "Controls.Add"? Где наша мудрость, потерянная ради знаний, где наши знания, потерянные ради информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 15:15 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=899&tid=1390354]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 280ms |
| total: | 422ms |

| 0 / 0 |
