asp.net中ViewState的用法详解
本文将向大家介绍ASP.NET中ViewState的用法,包括其原理、用法以及与Session的对比等方面的知识。对于对ViewState用法感兴趣的朋友,相信这篇文章会为你带来深入的理解和启示。
在ASP.NET中,当Web窗体控件被设置为runat="server"时,该控件会被附加一个隐藏属性_ViewState。_ViewState用于存储所有控件的ViewState状态值。ViewState是一个名称/值的对象集合。当请求某个页面时,ASP.NET会把所有控件的状态序列化成一个字符串,并作为窗体的隐藏属性发送到客户端。当客户端将页面回传时,ASP.NET会回传的窗体属性,并将其赋值给控件对应的值。
一、ViewState的原理
当浏览器请求Default.aspx页面时,在服务器端,如果发现创建了ViewState,会自动创建一个名为__VIEWSTATE(双下滑线,全部大写)的隐藏域。该隐藏域的值经过Base64加密后返回到浏览器端。这一加密过程在页面生命周期的SaveState事件中的SaveAllState方法中完成。当浏览器提交表单时,__VIEWSTATE的隐藏域也会一起提交到服务端。页面生命周期的ReadState事件的ReadAllState方法会将加密后的值进行Base64解密,并将值赋值给相应的ViewState。
二、ViewState的用法
1. 定义ViewState属性
例如:
public int PageCount{ get{return (int)ViewState["PageCount"];} set{ViewState["PageCount"]=value;} }
2. 使用ViewState的条件
要使用ViewState,必须在ASPX页面中包含一个服务器端窗体标记(
编程语言
- asp.net中ViewState的用法详解
- PHP实现的简单mock json脚本分享
- Ajax学习笔记---3种Ajax的实现方法【推荐】
- vue2.0+koa2+mongodb实现注册登录
- sencha ext js 6 快速入门(必看)
- Vue.js计算属性computed与watch(5)
- php实现阳历阴历互转的方法
- PHP常见错误提示含义解释(实用!值得收藏)
- PHP中散列密码的安全性分析
- Bootstrap每天必学之前端开发框架
- SQL SERVER 2000安装教程图文详解
- .net如何使用Cache框架给程序添加Cache
- ASP.NET 中的正则表达式
- thinkphp多层MVC用法分析
- mysql多个left join连接查询用法分析
- JS显示日历和天气的方法