
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.116.87.126] |
![]() |
|
Сообщ.
#1
,
|
|
|
Здравствуйте.
Возникает ошибка при добавлении элемента по клику. Object reference not set to an instance of an object. protected override void OnPreInit(EventArgs e) { if (Session["OK"] != null) { TextBox ctrDataInvest = new TextBox(); ctrDataInvest.ID = "adraf"; ctrDataInvest.Text = "adrafj"; ctrDataInvest.AutoPostBack = true; PlaceHolder1.Controls.Add(ctrDataInvest); } base.OnPreInit(e); } protected void Button1_Click(object sender, EventArgs e) { Session["OK"] = 2; Response.Redirect("default.aspx"); } PlaceHolder1 находится в содержимом эталонной страницы, без использования эталонной страницы ошибки не возникает. Заранее спасибо. |
Сообщ.
#2
,
|
|
|
Решил задачу.
OnPreInit заменил на OnInit. Как прочитал: при использовании эталонной страницы порядок следования событий начинается с OnPreInit, когда еще элементы Содержимого не созданы. |
Сообщ.
#3
,
|
|
|
Теперь другая проблема!!
Хочу чтобы мой Контрол (текстбокс в данном случае) сохранялся и при следующем постбеке по нажатию кнопки добавлялся новый, то есть чтобы их количество увеличивалось. Пытался сохранять во ViewState PlaceHolder1.Controls - ничего не получилось. Также пытался работать с ControlState. В SaveControlState заходит, в LoadControlState нет: protected override object SaveControlState() { object[] stateToSave = new object[1]; stateToSave[0] = PlaceHolder1.Controls; return stateToSave; } protected override void LoadControlState(object savedState) { object[] currentState = (object[])savedState; if (currentState == null) return; foreach (Control control in (ControlCollection)currentState[0]) { PlaceHolder1.Controls.Add(control); } base.LoadControlState(savedState); } |
Сообщ.
#4
,
|
|
|
Спасибо всем, кто помогал))!!
Долго мучился с проблемой! Да, все сохраняется во вьюстейте. Просто в моем коде Response.Redirect("default.aspx"); А это делает запрос гет, то есть страница загружается сначала. |