Asp.net

如何禁用 .aspx 頁面的 ViewState?

  • April 23, 2019

我需要在我的 Web 應用程序中完全禁用 .aspx 頁面的 ViewState。我瀏覽了不同的部落格,我的理解是我們必須設置<%@ Page EnableViewState="false" ...%>,但這不起作用。

這足以禁用頁面內所有控制項的 ViewState 嗎?或者我應該做任何額外的修改?如果是這樣,請指定它們。我不希望為 .aspx 頁面中的單個控制項啟用 ViewState

我認為引號應該是:

EnableViewState="false"

除此之外,如果您仍然看到隱藏欄位,那麼它們將被 ASP.Net 使用。你可能會看到:

Page.EnableViewState 屬性

即使 EnableViewState 為 false,頁面也可能包含一個隱藏的視圖狀態欄位,ASP.NET 使用該欄位來檢測回發。

禁用視圖狀態

  1. 機器級別- 在machine.config中禁用機器級別的視圖狀態,將禁用 Web 伺服器上所有應用程序的 ViewState。
<Machine.config>
   <system.web>
      <pages enableViewState="false" />
   </system.web>
</Machine.config>
  1. 應用程序級別- 您可以禁用文件中所有頁面的 ViewState /web.config
<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>

引用自:https://stackoverflow.com/questions/12702686