将viewstate内容转移到文件

ASP.NET里不可避免的要用上viewstate,怎么用它估计大家都用得烂熟了,它的优点缺点用过的人也能说出个大概.其中被说得最多的还是它的缺点,viewstate的使用使得页面大小长胖了好几KB,甚至上M,最直接的效应就是使得页面的加载异常的缓慢.因此对于viewstate的使用及优化是那些ASPDotNet优化教程里谈论得较多的,至于那些怎么禁用viewstate,缓存策略等也就不详细讨论了.
如果不嫌IO操作慢,并且服务器也够地方放,何不把viewstate的内容保存在服务器上,这样可以实现客户端页面的viewstate大小为0,实现起来也很简单,只不过是重写了Page类的两个虚方法SavePageStateToPersistenceMediumLoadPageStateFromPersistenceMedium,以下是简单的实现方法.

保存viewstate

最后的效果就是,查看页面的html代码,发现viewstate的value是空的.
1  < input  type ="hidden"  name ="__VIEWSTATE"  id ="
2  __VIEWSTATE"  value =""   />

另外对于Page类还有很多虚方法,好好应用还是挺有趣的.

你可能感兴趣的:(view)