Когда включать / отключать Viewstate - PullRequest
16 голосов
/ 22 сентября 2008

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

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

Ответы [ 6 ]

19 голосов
/ 22 сентября 2008

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

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

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

5 голосов
/ 22 сентября 2008

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

4 голосов
/ 22 сентября 2008

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

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

4 голосов
/ 22 сентября 2008

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

2 голосов
/ 22 сентября 2008

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

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

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

0 голосов
/ 22 сентября 2008

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

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