zoukankan      html  css  js  c++  java
  • ViewState

    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完全去掉就可以。
  • 相关阅读:
    组件间通信
    Android抓包方法(一)之Fiddler代理
    汉字转拼音
    post请求参数问题
    post请求参数设置
    swagger
    IfcPresentationDefinitionResource(介绍定义资源)
    Java计算两个日期之间的时间差(毫秒数)
    IfcPresentationAppearanceResource(外观定义资源)
    IfcMeasureResource(度量资源)
  • 原文地址:https://www.cnblogs.com/zhxshseu/p/5292145.html
Copyright © 2011-2022 走看看