如何为.aspx页面禁用ViewState?

时间:2012-10-03 06:04:08

标签: asp.net viewstate

我需要在Web应用程序中为.aspx页面完全禁用ViewState。我浏览过不同的博客,据我所知,我们必须设置<%@ Page EnableViewState="false" ...%>,但这不起作用。

这足以为页面内的所有控件禁用ViewState吗?或者我应该进行任何其他修改?如果是,请说明。我不想为.aspx页面内的单个控件启用ViewState

3 个答案:

答案 0 :(得分:14)

禁用查看状态

  1. 机器级别 -     在machine.config中禁用计算机级别的视图状态将禁用Web服务器上所有应用程序的ViewState。
  2. <Machine.config>
       <system.web>
          <pages enableViewState="false" />
       </system.web>
    </Machine.config>
    
    1. 申请级别 - 您可以为/web.config文件中的所有页面禁用ViewState。
    2. <configuration>
         <system.web>
            <pages enableViewState="false" />
         </system.web>
      </configuration>
      
      1. 页面级 -    禁用顶部特定aspx文件的视图状态。
      2.   

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

        1. 控制级别 - 您可以为特定控件禁用ViewState。
        2.   

          <asp:TextBox EnableViewState="false" ID="Name" runat="server"></asp:TextBox>

答案 1 :(得分:12)

我认为报价应为:

EnableViewState="false"

除此之外,如果您仍然看到隐藏的字段,那么它们将由ASP.Net使用。你可能会看到:

Page.EnableViewState Property

  

即使EnableViewState为false,页面也可能包含隐藏视图   ASP.NET用于检测回发的状态字段。

答案 2 :(得分:3)

如果您真的不需要回发,可以从页面中删除表单元素,这将完全删除视图状态。