如果你查看html源代码,你也许常会看到类似以下的代码片断:<input type="hidden" name="__viewstate"
其实,这就是Microsoft在asp.net应用viewstate技术的特征表现。为了页面能在postback后依然能读取服务器控件原有的状态数据,asp.net中使用了viewstate技术,而viewstate技术本质上是用一个默认名称为"__viewstate的hidden类型表单域来保存和传递数据(这些数据是经过了序列化后base64编码的字符串值,且是在方法page.savepagestatetopersistencemedium输出前保存、并由page.loadpagestatefrompersistencemedium加载)。
简单的我们可以通过三种级别来轻松禁用掉这些数据的往返传递:
machine级 在machine.config中设置<pages enableviewstatemac=false />
application级 在web applicatin的web.config中设置<pages enableviewstatemac=false />
单页面级 在该页面中设置<%@page enableviewstatemac=false %>或通过代码设置page.enableviewstatemac = false;
这样可以减轻客户端对服务器端的压力。