#c# #asp.net
#c# #asp.net
Вопрос:
Я пытаюсь программно добавить строки в таблицу на стороне сервера в asp.net . У меня есть кнопка, и в обработчике события click у меня есть:
TableRow row = new TableRow();
TableCell cell = new TableCell();
cell.Controls.Add(new TextBox());
row.Cells.Add(cell);
myServersideTable.Rows.AddAt(myServersideTable.Rows.Count - 1, row);
Все хорошо, код работает при первом нажатии кнопки и добавлении новой строки.
Однако все последующие нажатия кнопок не добавляют новую строку. Ошибка не выдается.
Почему это может происходить?
Ответ №1:
Вы добавляете строку динамически, поэтому при обратной передаче вам придется снова воссоздавать элементы управления.
В этом случае вы используете таблицу, и строка добавляется при первом нажатии кнопки, поэтому при повторном нажатии вам придется заново создать предыдущую строку и еще одну для текущего нажатия
Комментарии:
1. ах! Я понял. Спасибо. Не то, на что я надеялся, придется придумать другой способ сделать это.
Ответ №2:
Вы не можете этого сделать из-за отсутствия состояния Http
протокола. Для получения дополнительной информации, пожалуйста, прочитайте ASP.NET жизненный цикл страницы из MSDN.