关于ViewState
1 ViewState实现机制。
2 大量使用ViewState对程序的性能影响。
目前只想到这两个,其他的再补充,希望高手们帮忙解释下ViewState,谢谢。
[解决办法]
就在当前页面中保存数据的.
像session.是会话级别的.只要会话没有过期.session中存的数据就在.
viewstate是页面级别的.只要这个页面在.viewstate中存的数据就在.
就是说viewstate中存的数据只能在声明该变量的页面中使用.
比如在某页的page_load中声明了:ViewState["test"]="fdasfdsa";
那么在该页中的任何一个方法中都可以使用ViewState["test"]来直接得到值"fdsafdsa".
[解决办法]
反正是不好,但我说不好 :-)
[解决办法]
能不用,就不用...
[解决办法]
如果没有用它 就会产生很多不必要的资源
如果有了 就不要计较那些了
[解决办法]
http://www.cnitblog.com/yhf119/archive/2007/05/08/26728.html
[解决办法]
1 ViewState实现机制。
将页面状态保持到一个加密的隐藏变量中,你可以将数据写入到viewstate中,然后通过浏览器打开的时候,查看源文件,里面一堆乱七八糟的代码,就是viewstate数据。
2 大量使用ViewState对程序的性能影响。
要理解对程序性能,需要清楚原理和执行过程
如果页面打开viewstate后,无论你是否在viewstate中写入数据,当页面提交的时候,都需要将页面控件中所有的数据值收集起来,post到服务器去。
收集数据的过程很快完成,而且是在浏览器中执行的,性能可以忽略不计。
post大量数据就比较痛苦了,影响主要是在网络带宽上。如果是企业内部局域网,也基本上可以不管。因此很多企业网站用这个东西,非常方便。但是门户网站肯定不能乱用。
数据post到服务器后,服务器解析数据,这个过程需要耗费服务器时间,网页上控件越多,解析越慢。
[解决办法]
我说说影响
如果界面是大量的数据显示的页面最好不用
因为使用ViewState需要将所有的数据加载并加密到客户端 严重影响速度
如果是少量的信息提交页面 使用当然比较方便的..
[解决办法]