ASP.NET中的SessionState和ViewState有什么区别?
答案 0 :(得分:137)
会话状态包含与服务器的特定会话(由特定客户端/浏览器/计算机)相关的信息。这是一种跟踪用户在网站上正在做什么的方法.. 跨多个页面 ......在无状态网络中。例如特定用户的购物车的内容是会话数据。 Cookie可用于会话状态 另一方面,查看状态是特定于特定网页的信息。它存储在隐藏字段中,以便用户不可见。它用于维护用户的错觉,即页面记得他最后一次在上面做了什么 - 每次回帖都不要给他一个干净的页面。 Check this page for more。
答案 1 :(得分:93)
会话状态保存在服务器上,ViewState保存在页面中。
会话状态通常在用户不活动一段时间后被清除(没有请求包含请求cookie中的会话ID)。
视图状态在后续帖子中发布在隐藏字段中。
答案 2 :(得分:31)
<强> SessionState的强>
<强>视图状态强>
答案 3 :(得分:13)
<强>用法:强> 如果您要存储要在不同网页上访问的信息,可以使用SessionState
如果您想要存储您想要从同一页面访问的信息,那么您可以使用Viewstate
<强>存储强> Viewstate存储在页面本身(加密文本中),而Sessionstate存储在服务器中。
SessionState将在以下条件中清除
答案 4 :(得分:5)
会话主要用于存储用户特定数据[会话特定数据]。在会话的情况下,您可以使用整个会话的值,直到会话到期或用户放弃会话。 Viewstate是仅在使用它的页面中具有范围的数据类型。除非将这些值传输到所需页面,否则您可以使用其他页面可访问的viewstate值。同样在viewstate的情况下,所有服务器端控制数据都作为__Viewstate中的键值对传输到服务器,并在发生回发时传回并呈现给客户端中的相应控件。