Сохранение данных GridView в PostBacks? - PullRequest
0 голосов
/ 04 апреля 2011

Хорошо, вот моя базовая настройка страницы ASP.NET: у меня есть страница с GridView, в которой есть ContentTemplates.Вы можете добавить строку и редактировать / удалять строки в любое время.Там есть кнопка «Создать», которая создает новую строку.

Все эти данные привязаны к объектам пользовательских данных.Поэтому, если у меня есть GridView «People» и в каждой строке есть «FirstName», «LastName» и «Gender» (с элементами управления TextBox и DropDown), у меня будет объект «Person», который имеет открытые свойства для «FirstName», «LastName» и т. Д. У меня правильно установлена ​​привязка, и я могу передать данные в объект GridView из объекта и сохранить объект с помощью переменной Session.Структура времени жизни моей страницы выглядит примерно так:

  • Page_Load: загружает List(Of Person) из Session()
  • Все события запускаются и изменяются List(Of Person).
  • После любого события List(Of Person) сохраняется обратно в Session() и затем связывается с DataBound для GridView (а все последующие поля также являются DataBound, например DropDownList.

Мой вопрос: всякий раз, когда я заполняю строки в GridView, а затем добавляю новую строку (при этом сохранение базы данных не происходит вообще), мои поля очищаются и не сохраняются в PostBacks. Итак, как я могу сохранить свой пользовательскийобъекты данных с привязкой данных между постбэками?

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Работа с вашими пользовательскими объектами данных в событии Pre_Init.

Сохраните ваши данные в ViewState, а не в сеансе.Таким образом, вы гарантируете, что не теряете сеанс, следовательно, ваша работа.

0 голосов
/ 05 апреля 2011

Разобрался сам. Мне просто нужно обработать события TextChanged, SelectedIndexChanged и т. Д., А затем сохранить новые данные в моих пользовательских объектах. Имеет смысл теперь, когда я думаю об этом.

Спасибо всем за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...