关于在.net中禁用ViewState

首先说一下什么是ViewState。

   简单的说它就是ASP.NET中用来保存页面中信息以及控件值(上次返回的信息)的一种机制。客户端需要和服务器端进行交互的时候,服务器端在返回处理后的值给客户端之后,是没有保存处理后的值得。所以,有些必要的值都会保存到ViewState中。

   需要在回发过程中保留的页面的当前状态的值将被序列化为Base64编码的字符串,并输出到ViewState的隐藏字段中。通过自定义的PageStatePersiste类以存储页数据。

   默认情况下ASP.NET是启用ViewState的,这样在页面中会生成一大坨隐藏字段。但是,只有需要交互的页面中,也就是需要postback处理的页面才可能会用到它。所有,如果这个控件只是用来展示数据,而不需要提交数据的话,我们就可以将该控件的ViewState禁用掉。

  禁用viewState的方式:

    1.页面整体禁用ViewState:在顶部Page中EnableViewState="False"

    2.指定控件禁用ViewState:在控件的enableViewState="False"

   页面禁用ViewState后,并没有完全去掉ViewState,只要viewState不是很大就可以了。如果页面中不能有一点儿ViewState,那么那么页面中不能有Runat=server的form。如果页面中没有表单元素,把form完全去掉就可以。但是注意:button等服务器控件没有放在Runat=server的form中,是不能使用滴。

 

posted @ 2011-04-17 00:03  GY小小鸟  阅读(741)  评论(0编辑  收藏  举报