Когда включать / отключать Viewstate

Я вообще отключаю viewstate для своих элементов управления ASP.net, если я не знаю явно, что мне потребуется состояние просмотра для них. Я обнаружил, что это может значительно уменьшить размер страницы сгенерированного HTML.

Это хорошая практика? Когда должен быть включен или отключен?

6 ответов

Решение

Да, это очень хорошая идея. Можно утверждать, что по умолчанию Microsoft должна была отключить его, как кеширование.

Чтобы увидеть, насколько плохо Viewstate с точки зрения увеличения размера, вы можете использовать инструмент под названием Viewstate Analyzer. Это особенно полезно, когда у вас есть приложение, разработанное с включенным Viewstate.

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

Я думаю, что это хорошая практика. Многие разработчики ASP.NET не знают, что их состояния просмотра добавляют огромный багаж к HTML, который отправляется браузерам их пользователей.

Вы можете найти информацию, содержащуюся в статье "Рекомендации по управлению состоянием ASP.NET" на MSDN, полезной для принятия вашего решения.

Обычно в ASP.NET 2.0 и более поздних версиях отключение ViewState менее разрушительно из-за введения состояния управления для хранения информации, необходимой для возбуждения событий и т. Д.

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

Определенно хорошая идея, ничем не хуже, чем страница, на которой разработчик каждый раз связывает dataGrid в Page_Load, но также отправляет представление!

Также очень хорошая идея, если вы планируете использовать UpdatePanel из расширений AJAX, это означает, что вы отправляете меньше во время запроса UpdatePanel.

(Не говорите, что UpdatePanel может быть хорошим:P)

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

Другие вопросы по тегам