ASP.net GridView ViewStates - PullRequest
       7

ASP.net GridView ViewStates

1 голос
/ 09 июля 2009

Я использую Gridview для хранения записей, которые пользователь может щелкнуть по флажку в каждой записи, чтобы указать, что он / она хочет сохранить эту запись (после редактирования данных), и пользователь может выбрать столько записей, сколько он хочет, и сохранить их все сразу.

В приведенном ниже коде я зациклюсь на виде сетки и найду флажок для сохранения записи. Если я отключу состояние просмотра Gridview. Я не могу зациклить его, но если я включил состояние просмотра gridview, тогда состояние просмотра gridview может достигать 1 МБ и более.

каков будет лучший способ уменьшить состояние просмотра на этом элементе управления girdview или мой подход неверен?

Ответы [ 3 ]

1 голос
/ 09 июля 2009

Если вы открыты к идее, возможно, вы захотите использовать пользовательский пейджинг, чтобы уменьшить количество возвращаемых записей. Возможно, начать с подкачки по умолчанию, но это возвращает все записи. Если вам нужна более высокая производительность, лучше всего воспользоваться пользовательским пейджингом.

Некоторые полезные материалы:

  1. Эффективное перелистывание больших объемов данных

  2. GridView ObjectDataSource LINQ Пейджинг и сортировка

  3. Повышение производительности GridView путем делегирования подкачки на SQL Server

1 голос
/ 09 июля 2009

Если вы не можете уменьшить размер вашего viewstate, вы можете попробовать альтернативное решение. Вы можете хранить свое представление на сервере. В этом блоге показано, как это реализовать:

Уменьшение размера страницы путем сохранения ViewState на сервере

Я реализовал нечто похожее на это на странице с огромным состоянием просмотра, и она прекрасно работала. Я бы попытался оптимизировать состояние представления, прежде чем переходить к чему-то подобному, так как это создает некоторые накладные расходы.

Я думаю, что использовал эту статью (это было давно) и мне пришлось изменить ее для SQL, так как она использует файловую систему: Сохранение состояния просмотра в файловой системе

0 голосов
/ 09 июля 2009

Я согласен с Алексом. Вы также можете использовать временную таблицу для хранения данных. Я использовал этот сценарий в проекте, и он отлично работает. Вы также можете использовать кэширование, но опять-таки это создает нагрузку на веб-сервер (если только у вас нет какого-либо распределенного кэширования).

...