.NET中ViewState的原理

今天在公司竟然有人在问我ViewState原理。其实这个事最基础的东西。可能在网上说的有点笼统。我现在将我个人理解分享一下:

   首先浏览器经过发送请求至服务器端后,服务器端会接受这个请求,查看客户端发送过来的ViewState(不管是自定义还是服务控件所创建)。

   他会自动创建一个__VIEWSTATE的东东(这个你不用管__VIEWSTATE)到底是什么。可以当他是一个临时存储的变量(在.NET中可能叫隐藏域)。

   这个东东当然是经过Base64加密以后返回到浏览器端(这一加密过程在页面生命周期的SaveState事件中的SaveAllState方法中完成。)

   当浏览器提交表单的时候 将__VIEWSTATE的隐藏域也一起提交到服务端 这个时候 页面生命周期的ReadState事件
   的ReadAllState方法会将加密后的值反base64解密 最后将值赋值给名字叫做name的ViewState

   最后来操作ViewState中的值

 
  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。