DataTable и Viewstate - PullRequest
       15

DataTable и Viewstate

1 голос
/ 24 марта 2009

похоже, что свойство DataTable.Rows не сохраняется в ViewState, а свойство Columns - потому что я не могу объяснить, почему столбцы сохраняются между обратными передачами, а данные - нет. Есть идеи?

1 Ответ

4 голосов
/ 24 марта 2009

Класс DataTable вообще ничего не хранит во ViewState. Класс DataTable не предназначен для веб-приложений и не использует никаких веб-специфических функций.

Если какие-либо данные из объекта DataTable хранятся в ViewState, то это потому, что вы используете их в качестве источника данных для веб-элемента управления, который хранит информацию в ViewState, например, DataGrid. Элемент управления копирует из DataTable информацию, необходимую для воссоздания элемента управления при обратной передаче. Объект DataTable, который использовался для привязки данных к элементу управления, изначально больше не существует после отправки страницы в браузер.

Свойство Columns элемента управления DataGrid (например) представляет собой коллекцию объектов DataGridColumn, оно не совпадает со свойством Columns класса DataTable, представляющего собой коллекцию объектов DataColumn, хотя большая часть информации из столбцов DataTable копируется в столбцы DataGrid, когда DataGrid привязан к данным.

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