是否可以在ASP .NET中禁用ViewState?

时间:2012-01-16 07:39:15

标签: asp.net viewstate server-side-controls

我在我的网站上使用第三方服务器端控件(Telerik RadControls for ASP .NET)。菜单控件具有复杂的结构,这会使视图状态的大小膨胀,从而影响加载时间。我不知道viewstate的细节,除了Web服务器使用它来跟踪控制值。

由于我网站上的大多数页面都只显示,是否可以禁用未进行用户输入的视图状态?无论如何,所有动态项目都会在页面加载时重新生成。

4 个答案:

答案 0 :(得分:2)

如果您正在使用asp.net 4,则可以使用ViewStateMode属性来控制控件的视图状态生成。 ViewStateMode

如果您不使用asp.net 4,则可以在页面或控件级别转换viewstate。

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

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

答案 1 :(得分:1)

在aspx页面的顶部,在不需要它的页面上添加参数enableViewstate =“false”。它不会完全禁用视图状态,但严重减小尺寸

我没有测试过这个,但我认为这是可能的..

在您的Web.config文件中,将属性添加到pages标签,然后在您需要启用的那些页面上,在顶部添加true属性

答案 2 :(得分:1)

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

答案 3 :(得分:1)

有多种方法可以禁用ViewState。在您的情况下,我建议禁用控件上的viewstate:

<telerik:RadMenu ViewStateMode="Disabled"