如何将viewstate转换为会话状态?

时间:2014-11-29 06:28:48

标签: c# asp.net

我创建了视图状态。我想在不同的页面中使用视图状态。是否可以访问不同页面中的视图状态?

else可以在asp.net c#中的会话对象中移动视图状态。怎么做?

3 个答案:

答案 0 :(得分:3)

  

我想在不同的页面中使用视图状态

答案:然后没有必要使用ViewState。您应该根据您的问题使用Session

什么是ViewState

  

View State是最重要和最有用的客户端状态之一   管理机制。它可以在发布时存储页面值   返回(从服务器发送和接收信息)页面。   ASP.NET页面将ViewState属性作为内置结构提供   用于在多个请求之间自动存储值   同一页。

什么是会话

  

Session提供了一种在服务器内存中存储信息的工具。它   可以支持任何类型的对象与我们自己的自定义一起存储   对象。对于每个客户端,会话数据是分开存储的   表示会话数据基于每个客户端存储

您可以轻松地将会话转换为ViewState

if(Session["Key"]!=null)

Viewstate["Key"] = Session["Key"];

或反之亦然

if(Viewstate["Key"]!=null)

Session["Key"]=Viewstate["Key"]

答案 1 :(得分:2)

Viewstate等于隐藏字段值。仅当定义和使用viewstate时,此选项仅适用于当前页面。如果您想在其他页面中读取这些数据,则无法使用。

您需要将这些值存储到session,无论您在哪里ViewState["key"]= "value"。你的意思是访问其他页面中的密钥。 Viewstate在隐藏字段中保存为编码值,而session值存储在服务器内存中。

e.g。 Session["key"] = "value"

答案 2 :(得分:1)

会话用于多个页面 而viewstate只能用于一个页面

如何将会话转换为viewstate。

Viewstate["ABC"] = Session["ABC"]

但是对于多个页面,您需要会话。