Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

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

(Не плачь, чтобы сказать, что UpdatePanel может быть хорошим: P)

Ответ 6

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