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。4. 在UserControl中
当在UserControl中EnableViewState=false时,表示禁用了该UserControl的视图状态信息,包括所有控件,即使控件明确指定EnableViewState=true。5. 在控件中
当在控件中EnableViewState=false时,表示禁用了该控件的视图状态信息。注:如果要确保某个控件使用视图状态,可以在该控件的OnInit事件中,指定该控件的父控件和Page使用视图状态。
我通常的做法:
在web.config中禁用视图状态,当需要启用时再明确指定