ViewState - 页面状态保留

ViewState 只在进行表单提交是才有用.

ViewState 在客户端的表现形式 只是一个隐藏域.

隐藏域

<input type="hidden" name="__VIEWSTATE" value="">
 

使用方法

private void Page_Load(object sender, System.EventArgs e) { ViewState["myvalue"] = "viewstatevalue"; //..... }

原理

它储存的值类似如下的形式:Oz4+O2w8aTwxPjs+O2w8.... 
很多人会认为这是加密的信息,其实不是, ms仅仅是给各个控件和页面的状态存入适当的对象里面,然后把该对象序列化, 最后再做一次base64编码,直接赋值给viewstate控件.

想必你一定想看看这个viewstate里面到底存了哪些东西, 嗯,你是可以写一个base64 to string的转换代码来实现.不过,viewstate是有层次之分的,普通的转换后,你看到的也是很乱的文字. 


posted @ 2011-06-04 21:53  hen  阅读(419)  评论(0编辑  收藏  举报