将会话变量分配给视图状态时会发生什么?

时间:2013-10-03 00:07:18

标签: html asp.net session viewstate

如果我有一个会话[“test”] =一些“哈希表”对象,并且我将这个会话变量分配给一个视图状态对象Viewstate [“test”],当会话变量到期或发生变化时会发生什么?

视图状态变量是仅存储对它的引用,还是它自己的副本?

如果session [“test”]被重新分配或设置为null,那么视图状态变量是否也被重新赋值/设置为null?

1 个答案:

答案 0 :(得分:1)

它们是分开的,因为ViewState由标记中的隐藏字段支持。会话以明确的到期时间存储在内存中。 ViewState不受此限制,因为它是针对每个请求/响应从隐藏字段序列化/反序列化的。

只需查看您网页上的来源,您就会发现一个名为ViewState的隐藏字段,它是64位编码的,但如果您对其进行解码,则会以明文形式查看内容。