Viewstate实现原理

(生成原理)1.在页面类对象,执行PR方法的时候,先创建了控件树,


然后通过执行LoadState方法,将请求报文中的名字为 __VIEWSTATE的值,


然后反base64编码,进行反序列化,最终还原成集合,


然后将其中属于程序员自己的添加到ViewState 里的键值对 还原到


页面对象的ViewState属性中。然后才执行的Page_Load方法。


在执行SaveState(将所有的服务器端控件的属性及值保存到ViewState属性中)


最后在页面生成html代码的时候,遍历ViewState中的键值集合,


然后将里面序列化,在将序列化后的字符串使用base64编码,最后生成


一个名为 __ViewState的隐藏域,在页面生成整个html代码的时候,作为


个隐藏域添加到页面中

 


(点击提交按钮)2.A.此时在LoadState方法 分析请求报文里名为__VIewState


的隐藏域,将里面的字符串成反base64编码,然后反序列化还原成集合对象;


将其中用户添加的属性存入对象的ViewState属性值中。B.同时还将服务器端控件

的属性值从隐藏域中还原

转载于:https://www.cnblogs.com/wenyue/archive/2011/09/03/2164540.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值