我在我的网站上使用第三方服务器端控件(Telerik RadControls for ASP .NET)。菜单控件具有复杂的结构,这会使视图状态的大小膨胀,从而影响加载时间。我不知道viewstate的细节,除了Web服务器使用它来跟踪控制值。
由于我网站上的大多数页面都只显示,是否可以禁用未进行用户输入的视图状态?无论如何,所有动态项目都会在页面加载时重新生成。
答案 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"