我创建了视图状态。我想在不同的页面中使用视图状态。是否可以访问不同页面中的视图状态?
else可以在asp.net c#中的会话对象中移动视图状态。怎么做?
答案 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"]
但是对于多个页面,您需要会话。