如何将视图状态转换为会话状态



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

否则可以在 C# asp.net 中移动会话对象中的视图状态。 怎么办?

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

答:那么就没有必要使用ViewState了。您应该根据您的问题使用Session

什么是视图状态

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

什么是会话

会话提供了一种在服务器内存上存储信息的工具。它 可以支持任何类型的对象以及我们自己的自定义存储 对象。对于每个客户端,会话数据是单独存储的,这 表示会话数据按客户端存储

您可以轻松地将会话转换为视图状态

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

反之亦然

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

Viewstate 等于隐藏字段值。这仅适用于定义和使用视图状态的当前页面。如果您想在其他页面中读取这些数据,它将不可用。

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

例如 Session["key"] = "value" .

会话用于多个页面而视图状态只能用于一个页面

如何将会话转换为视图状态。

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

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

最新更新