在 Viewstate 或 Session 中传递 DataView 哪个更好?
Is it better to pass a DataView in a Viewstate or Session?
我有一个可能永远不会有超过 2000 条记录的 DataView。
那么我应该使用 Session 还是 ViewState 来传递它呢?我必须在一个例程中加载它并在另一个例程中使用它。但这些相互称呼。
当我得到正确答案时,你如何从 ViewState 或 Session 中得到它?
如果您要在同一个页面中使用信息,我会说,使用 ViewState。两者的区别是:
会话状态 包含与服务器的特定会话(通过特定 client/browser/machine)有关的信息。这是一种跟踪用户在站点上所做的事情的方法……跨多个页面……在网络的无状态中。例如特定用户购物车的内容是会话数据。 Cookie 可用于会话状态。
Session["UserName"] = "Test";
在其他页面,可以通过以下代码获取Session外的用户名:
string UserName = (string)Session["UserName"];
另一方面,View State 是特定于特定网页的信息。它存储在隐藏字段中,因此用户看不到。它用于维持用户的错觉,即页面会记住他上次在其上所做的事情 - 不要在他每次回帖时都给他一个干净的页面。
ViewState["color"] = "red";
string strColor;
strColor =(string)ViewState["color"];
我有一个可能永远不会有超过 2000 条记录的 DataView。 那么我应该使用 Session 还是 ViewState 来传递它呢?我必须在一个例程中加载它并在另一个例程中使用它。但这些相互称呼。 当我得到正确答案时,你如何从 ViewState 或 Session 中得到它?
如果您要在同一个页面中使用信息,我会说,使用 ViewState。两者的区别是:
会话状态 包含与服务器的特定会话(通过特定 client/browser/machine)有关的信息。这是一种跟踪用户在站点上所做的事情的方法……跨多个页面……在网络的无状态中。例如特定用户购物车的内容是会话数据。 Cookie 可用于会话状态。
Session["UserName"] = "Test";
在其他页面,可以通过以下代码获取Session外的用户名:
string UserName = (string)Session["UserName"];
另一方面,View State 是特定于特定网页的信息。它存储在隐藏字段中,因此用户看不到。它用于维持用户的错觉,即页面会记住他上次在其上所做的事情 - 不要在他每次回帖时都给他一个干净的页面。
ViewState["color"] = "red";
string strColor;
strColor =(string)ViewState["color"];