在ASP.NET中,我们可以在很多地方设置EnableViewState属性,本章主要分析在不同位置设置EnableViewState属性及各处位置的优先级。
1,在web.config中的page小节中设置:
<pages enableViewState="false" >
这样的设置后,所有没有明确指定EnableViewState的控件,都会使用在web.config中指定的值。
2,在MasterPage中设置
当在MasterPage中EnableViewState=false时,表示禁用了使用了该MasterPage页面的视图状态信息,包括所有控件,即使页面或控件明确指定EnableViewState=true。
3,在Page的头部中设置
当在Page头部中设置EnableViewState=false,表示禁用了该Page的页面的视图状态信息,包括该页面中所有控件,即使控件明确指定EnableViewState=true。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" EnableViewState="false" % >
4,在UserControl中设置
当在UserControl中EnableViewState=false时,表示禁用了该UserControl的视图状态信息,包括所有控件,即使控件明确指定EnableViewState=true。
5,在具体控件中设置
当在具体的控件中EnableViewState=false时,表示禁用了该控件的视图状态信息。
注意:如果要确保某个控件使用视图状态,可以在该控件的OnInit事件中,指定该控件的父控件和Page页使用视图状态。
通常做法是:
在web.config中禁用视图状态,当需要启用时再明确指定。这样可以大大缩小生成的Page文件的大小。
关于EnableViewState属性的详细分析,请参考本站
Asp.Net之EnableViewState属性详解