ViewState
2016-03-18 15:01
232 查看
ASP.Net将所有隐藏内容统一放到了名字为__VIEWSTATE的隐藏字段中,使用序列化算法将所有隐藏内容放到一个字符串中。
用于保存上一次操作的信息。
ViewState原理
1)隐藏一些字段,用来存放那些没有value属性值的控件
2)因为http是无状态的协议,所以当页面发生改变的时候,会用viewstate保持页面上一次的状态。
3)例如:label控件被浏览器渲染成<span>标记,所以label的值就存在了viewstate中;
同理,textbox控件也被浏览器渲染成了input标记,TextBox中的值不用存,因为TextBox本质上就是input,input自己会提交给服务器,不需要隐藏字段。4)可以通过ViewStateDecoder工具查看viewstate中的容的本来面目。
状态信息保存在隐藏字段中(viewstate)的优缺点
1)加大网站流量
2)降低访问速度
3)机密数据放到表单中会有数据欺骗等安全性问题(如网银等)。*
禁用ViewState默认情况下ASP.Net是启用ViewState的,这样在页面中会生成冗长的隐藏字段,ViewState对于需要PostBack处理的页面才可能有用,对于新闻展示页面不需要交互完全没必要用ViewState
禁用ViewState的方式:
页面整体禁用ViewState:在顶部Page中EnableViewState="False"
指定控件禁用ViewState,在控件上EnableViewState="False"
页面禁用ViewState以后并没有完全去掉ViewState,只要ViewState不是很大就可以了。如果要求一点儿ViewState都不能有,那么则页面中不能有runat=server的form,如果页面中没有表单元素,把form完全去掉就可以。
用于保存上一次操作的信息。
ViewState原理
1)隐藏一些字段,用来存放那些没有value属性值的控件
2)因为http是无状态的协议,所以当页面发生改变的时候,会用viewstate保持页面上一次的状态。
3)例如:label控件被浏览器渲染成<span>标记,所以label的值就存在了viewstate中;
同理,textbox控件也被浏览器渲染成了input标记,TextBox中的值不用存,因为TextBox本质上就是input,input自己会提交给服务器,不需要隐藏字段。4)可以通过ViewStateDecoder工具查看viewstate中的容的本来面目。
状态信息保存在隐藏字段中(viewstate)的优缺点
1)加大网站流量
2)降低访问速度
3)机密数据放到表单中会有数据欺骗等安全性问题(如网银等)。*
禁用ViewState默认情况下ASP.Net是启用ViewState的,这样在页面中会生成冗长的隐藏字段,ViewState对于需要PostBack处理的页面才可能有用,对于新闻展示页面不需要交互完全没必要用ViewState
禁用ViewState的方式:
页面整体禁用ViewState:在顶部Page中EnableViewState="False"
指定控件禁用ViewState,在控件上EnableViewState="False"
页面禁用ViewState以后并没有完全去掉ViewState,只要ViewState不是很大就可以了。如果要求一点儿ViewState都不能有,那么则页面中不能有runat=server的form,如果页面中没有表单元素,把form完全去掉就可以。
相关文章推荐
- PHP的Yii框架中行为的定义与绑定方法讲解
- Huawei 2015 机试题
- python 登陆接口
- GNU/Linux 体系结构
- Spring 的优秀工具类盘点,第 1 部分: 文件资源操作和 Web 相关工具类
- 极客学院的Android-async-http的用法
- 做最好的自己
- 蓝桥杯--FJ的字符串
- 关于搜索框的测试用例
- 如何测试一个网页登陆界面
- Mybatis逆向工程
- 阿里云服务器搭建JavaWeb项目环境
- get和post
- Android --- 读取系统资源函数getResources()小结
- Handler消息机制源码解析(一)
- 安装SVN提示please wait while the installer finishes determining your disk space requirements
- 浅析Windows的访问权限检查机制
- andbase学习笔记一
- DOM操纵样式表
- phpstorm学习