Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
На странице пара DropDownList которые динамически заполняются и потом перед ними в дерево контролов вставляется контрол (неважно какой, для простоты button) Контролы после вставленного теряют свой viewstate после postback Прошу прошенье, возможно вопрос глупый, с ASP.NET знаком недавно. Код приведен. protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { for (int i = 0; i < 10; i++) { DropDownList1.Items.Add(new ListItem(i.ToString())); DropDownList2.Items.Add(new ListItem(i.ToString())); } Button b = new Button(); b.ID = "lkjlkj"; b.Text = "lkjlkj"; Page.Form.Controls.AddAt(1,b); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 18:24 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
А ведь добавлять Button нужно каждый раз (а не только если !IsPostBack), и желательно это делать в Page_Init. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 18:40 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Paulmay, Вы писали: P>А ведь добавлять Button нужно каждый раз (а не только если !IsPostBack), и желательно это делать в Page_Init. P> данное сообщение получено с www.gotdotnet.ru P>ссылка на оригинальное сообщение Да конечно вы правы, в рабочем приложении добавлялось всегда а не только !IsPostBack и проблема все равно проявляется. Вот пример исправленного кода, поведение прежнее: DropDownList'ы которые стоят после вставляемого элемента теряют свой ViewState после PostBack. if (!IsPostBack) { for (int i = 0; i < 10; i++) { DropDownList1.Items.Add(new ListItem(i.ToString())); DropDownList2.Items.Add(new ListItem(i.ToString())); } } Button b = new Button(); b.ID = "button1"; b.Text = "button1"; Page.Form.Controls.AddAt(1, b); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 10:39 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Вы уверены, что это у вас в OnInit написанно, а не в Page_Load ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 11:55 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, sergma, Вы писали: S>Здравствуйте, Paulmay, Вы писали: S>Да конечно вы правы, в рабочем приложении добавлялось всегда а не только !IsPostBack и проблема все равно проявляется. S>Вот пример исправленного кода, поведение прежнее: DropDownList'ы которые стоят после вставляемого элемента теряют свой ViewState после PostBack. protected void Page_Init(object sender, EventArgs e) { if (!IsPostBack) { for (int i = 0; i < 10; i++) { DropDownList1.Items.Add(new ListItem(i.ToString())); DropDownList2.Items.Add(new ListItem(i.ToString())); } } Button b = new Button(); b.ID = "button1"; b.Text = "button1"; Page.Form.Controls.AddAt(1, b); } Засунь всё это добро в OnInit (Page_Init)... << RSDN@Home 1.2.0 alpha rev. 655>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 14:53 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, CyberRussia, Вы писали: CR>Вы уверены, что это у вас в OnInit написанно, а не в Page_Load ? а почему нельзя в Page_Load?... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 15:19 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, RustM, Вы писали: RM>Здравствуйте, sergma, Вы писали: S>>Здравствуйте, Paulmay, Вы писали: S>>Да конечно вы правы, в рабочем приложении добавлялось всегда а не только !IsPostBack и проблема все равно проявляется. S>>Вот пример исправленного кода, поведение прежнее: DropDownList'ы которые стоят после вставляемого элемента теряют свой ViewState после PostBack. RM> RM>protected void Page_Init(object sender, EventArgs e) RM>{ RM> if (!IsPostBack) RM> { RM> for (int i = 0; i < 10; i++) RM> { RM> DropDownList1.Items.Add(new ListItem(i.ToString())); RM> DropDownList2.Items.Add(new ListItem(i.ToString())); RM> } RM> } RM> Button b = new Button(); RM> b.ID = "button1"; RM> b.Text = "button1"; RM> Page.Form.Controls.AddAt(1, b); RM>} RM> RM>Засунь всё это добро в OnInit (Page_Init) Большое спасибо, помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 17:43 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, cadet354, Вы писали: C>Здравствуйте, CyberRussia, Вы писали: CR>>Вы уверены, что это у вас в OnInit написанно, а не в Page_Load ? C>а почему нельзя в Page_Load? Потому что на этапе OnInit ViewState еще не сформирован. А для своего формирования (корректного) ему нужна та-же структура контролов, что и была в прошлый раз у страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2006, 18:33 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, CyberRussia, Вы писали: CR>Потому что на этапе OnInit ViewState еще не сформирован. А для своего формирования (корректного) ему нужна та-же структура контролов, что и была в прошлый раз у страницы. а если я добавлю в Page_Load, что структура контролов будет неверная, или ViewState не подцепится? Единственно что не будет на этой стадии это что пришло из браузера, но после выхода из Page_Load и это подцепится.... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 09:18 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, cadet354, Вы писали: C>Здравствуйте, CyberRussia, Вы писали: CR>>Потому что на этапе OnInit ViewState еще не сформирован. А для своего формирования (корректного) ему нужна та-же структура контролов, что и была в прошлый раз у страницы. C>а если я добавлю в Page_Load, что структура контролов будет неверная, или ViewState не подцепится? C>Единственно что не будет на этой стадии это что пришло из браузера, но после выхода из Page_Load и это подцепится. Если добавляешь в Page_Load, то на этапе LoadViewState, который происходит до Page_Load, но после OnInit структура контролов сейчас будет отличаться от структуры контролов до , поэтому при формировании ViewState почти наверняка произойдет ошибка и вся страница вылетит с этой ошибкой. Имеется в виду работа страницы при PostBack. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 11:04 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, CyberRussia, Вы писали: CR>Если добавляешь в Page_Load, то на этапе LoadViewState, который происходит до Page_Load, но после OnInit структура контролов сейчас будет отличаться от структуры контролов до , поэтому при формировании ViewState почти наверняка произойдет ошибка и вся страница вылетит с этой ошибкой. Имеется в виду работа страницы при PostBack. что значит формирование ViewState, если проSaveViewState то он проходит после обработки событий контролов. на какой стадии произойдет ошибка?... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 12:22 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, cadet354, Вы писали: C>что значит формирование ViewState, если проSaveViewState то он проходит после обработки событий контролов. C>на какой стадии произойдет ошибка? Я же написал Load VeiwState. На стадии работы метода LoadViewState класса System.Web.UI.Control (от которого унаследованны страницы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:10 |
|
||
|
viewstate и динамическое заполнение элемента
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, CyberRussia, Вы писали: CR>Здравствуйте, cadet354, Вы писали: C>>что значит формирование ViewState, если проSaveViewState то он проходит после обработки событий контролов. C>>на какой стадии произойдет ошибка? CR>Я же написал Load VeiwState. На стадии работы метода LoadViewState класса System.Web.UI.Control (от которого унаследованны страницы). и все это произойдет из-за: Page.Form.Controls.Add At (1,b);// если без At то все будет работать и в случае добавления в Page_Load... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=889&tid=1389992]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 266ms |
| total: | 444ms |

| 0 / 0 |
