ASP.NET学习笔记(14)--视图状态

视图状态是 ASP.NET 页中的一个储存库,可以存储需要在回发期间保留的值。视图状态通常用于必须保留的页变量,而不是用于用户或会话数据。例如,您可以存储视图状态的信息,下次将页发送到服务器时,在加载页活动期间将访问这些信息。

视图状态数据以 Base64 编码字符串的格式存储在一个或多个隐藏字段中。您可以使用页的 ViewState 属性(此属性公开一个字典对象)来访问视图状态信息。由于视图状态数据以字符串的形式存储,因此只能存储可以序列化的对象。

由于视图状态是作为隐藏字段发送的,因此直到发生 PreRenderComplete 事件之前,都可以对视图状态进行更改。一旦将页呈现到浏览器,便无法保存对视图状态的更改。

如果查看页输出源,则可以看到隐藏视图状态字段中的信息,这可能产生安全性问题。若要缓解该问题,可以通过将 @ Page 指令中的 viewStateEncryptionMode 属性设置为“Always”来加密视图状态。

下面的代码示例演示如何将一个 ArrayList 增加到视图状态。
ViewState.Add("arrayListInViewState", PageArrayList);
取视图状态的值:
if (!ViewState["SortField"] == null) object o= ViewState["SortField"];
修改视图状态的值:
ViewState["SortField"]=NewValue;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值