ASP:Таблица, добавляющая строки программно

#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.