viewstate初探

来源:互联网 发布:苹果软件拆卸工具 编辑:程序博客网 时间:2024/04/30 05:46

查看生成的源代码,ASP.NET将所有隐藏的内容统一放到了名字为_VIEWSTATE的隐藏字段中,使用序列化算法将所有隐藏内容放到了一个字符串中。点击几次在使用 ViewStateDecoder就可以查看到内容。

禁用viewstate的方法,enableviewstate=false,禁用了以后,textbox不受影响,而div 受影响。因为input的value不依靠viewstate.禁用整个页面,在aspx的Page指令区加上EnableViewState="false"。内网系统、互联网的后台可尽情的使用viewstate.


无状态的HTTP:HTTP协议是无状态的,不会记得上次和网页发生了什么。服务器不记得上次给了浏览器什么。浏览器需要记住这些值( input就是记到value 中,,对于其他的值就要放到 隐藏字段中,比如viewstate),下次再提交服务器的时候,就要把上次的值提交到服务器,让他想起来,。如果知道上一次的状态,一个方法是在对浏览器响应结束之前将状态信息保存到页面表单中,下次页面再向服务器发出请求的时候带上这些状态信息,这样服务器就能根据这些状态信息还原上次的状态了,类似于看病的病历本。

状态信息保存在隐藏字段中的缺点:加大了网站的流量,降低了访问速度,机密数据放到表单中会有数据欺骗等安全问题。

 

 

图片

原创粉丝点击