如何为.aspx页面禁用ViewState?

问题描述 投票:16回答:3

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

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

asp.net viewstate
3个回答
12
投票

我认为报价应该是:

EnableViewState="false"

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

Page.EnableViewState Property

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


14
投票

禁用视图状态

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

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

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

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


3
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.