Невозможно найти динамические элементы управления в сетке данных при обратной передаче.
Вопрос
Используя .NET 1.1, у меня есть DataGrid, содержащий три столбца для каждой строки.
В первой строке есть метка с текстом.
В третьей строке всегда будет два переключателя и два флажка, которые находятся на HTML-стороне страницы.
Во второй строке будут динамически генерируемые элементы управления (пока только текстовые поля), и их может быть 1 или более в каждой строке.Они будут использоваться для ввода данных пользователем.
На странице есть кнопка, и когда пользователь нажимает ее, мне нужно обновить источник DataGrid (мой DataTable) новыми значениями, введенными пользователем.
Проблема в том, что DataGrid, похоже, теряет динамически генерируемые элементы управления PostBack.Я могу просмотреть каждый элемент в DataGrid и получить доступ к переключателям и флажкам, но текстовых полей там нет.
Есть идеи?
Решение
Помнить:каждый раз, когда происходит обратная передача, вы работаете с новый экземпляр вашего класса страницы.Динамические элементы управления, добавленные на страницу во время предыдущей обратной передачи, передаются сборщику мусора, как только страница для этой обратной передачи отображается в браузере вместе с остальной частью этого экземпляра страницы.Вам необходимо заново создавать динамические элементы управления при каждой обратной передаче.
Другие советы
вам придется восстановить элементы управления.Вы сможете получить их значения из объекта http-запроса.