How to disable ViewState for a .aspx page?

让人想犯罪 __ 提交于 2019-11-29 16:58:22

问题


I need to completely disable ViewState for a .aspx page inside my web application. I have gone through different blogs and what I understand is that we must set <%@ Page EnableViewState="false" ...%>, but this is not working.

Is this enough to disable ViewState for all the controls inside the page? Or should I make any additional modifications? If so, please specify them. I don't want the ViewState enabled for even a single control inside the .aspx page


回答1:


I think the quotes should be:

EnableViewState="false"

Apart from that, if you are still seeing the hidden fields then they are used by ASP.Net. You may see:

Page.EnableViewState Property

Even if EnableViewState is false, the page might contain a hidden view state field that is used by ASP.NET to detect a postback.




回答2:


Disabling View State

  1. Machine Level - Disabling view state at machine level in machine.config, will disable ViewState of all the applications on the web server.
<Machine.config>
   <system.web>
      <pages enableViewState="false" />
   </system.web>
</Machine.config>
  1. Application Level - You can disable ViewState for all pages in /web.config file.
<configuration>
   <system.web>
      <pages enableViewState="false" />
   </system.web>
</configuration>
  1. Page Level - Disabling view state for a specific aspx file at the top.

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

  1. Control Level - You can disable ViewState for a specific control.

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




回答3:


If you truly don't need postback, you can remove the form element from your page, this will remove the viewstate entirely.



来源:https://stackoverflow.com/questions/12702686/how-to-disable-viewstate-for-a-aspx-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!