Можно ли отключить ViewState в ASP .NET?

Я использую сторонние элементы управления на моем веб-сайте (Telerik RadControls для ASP .NET). Элемент управления меню имеет сложную структуру, которая увеличивает размер представления, влияя на время загрузки. Мне не известны подробности о viewstate, за исключением того, что он используется веб-сервером для отслеживания контрольных значений.

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

4 ответа

Решение

Если вы используете asp.net 4, то вы можете использовать ViewStateMode свойство для управления генерацией viewstate для элементов управления. ViewStateMode

Если вы не используете asp.net 4, вы можете включить режим просмотра состояния на странице или на уровне управления.

<%@ Page Language="C#" EnableViewState="false"%> //disabling viewstate. 

http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableviewstate.aspx

System.Web.UI.WebControls.CheckBox checkBox = new System.Web.UI.WebControls.CheckBox();
checkBox.EnableViewState = false;

Существуют разные способы отключения ViewState. В вашем случае я бы порекомендовал отключить viewstate на элементе управления:

<telerik:RadMenu ViewStateMode="Disabled"

В верхней части страницы aspx добавьте параметр enableViewstate="false" на страницах, которые ему не нужны. он не отключит полностью состояние просмотра, но серьезно уменьшит размер

Я не проверял это, но я думаю, что это возможно..

В своем файле Web.config вместо этого добавьте атрибут к тегу pages, а затем на тех страницах, где он требуется, добавьте атрибут со значением true в верхней части.

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