在视图状态或会话中传递数据视图是否更好

本文关键字:数据 视图 是否 更好 视图状态 会话 | 更新日期: 2023-09-27 18:36:25

我有一个数据视图,它可能永远不会超过 2000 条记录。那么我应该使用会话还是视图状态来传递它呢? 我必须在一个例程中加载它并在另一个例程中使用它。但这些是互相称呼的。当我得到正确答案时,您如何将其从视图状态或会话中取出?

在视图状态或会话中传递数据视图是否更好

如果你要在同一页面中使用这些信息,我会说,使用ViewState。两者的区别是:

会话

状态包含与服务器的特定会话(由特定客户端/浏览器/计算机)相关的信息。这是一种跟踪用户在网站上所做的事情的方法。跨多个页面...在网络的无国籍状态中。例如,特定用户购物车的内容是会话数据。Cookie 可用于会话状态。

Session["UserName"] = "Test";

在其他页面上,您可以使用以下代码从会话中获取用户名:

string UserName = (string)Session["UserName"];

另一方面,视图状态是特定于特定网页的信息。它存储在隐藏字段中,因此用户不可见。它用于维护用户的错觉,即页面记得他上次在上面做了什么 - 不要每次他回发时都给他一个干净的页面。

ViewState["color"] = "red";
string strColor;
strColor =(string)ViewState["color"];