相关疑难解决方法(0)

ViewState与Session ...通过页面生命周期维护对象

有人可以解释一下ViewState和Session之间的区别吗?

更具体地说,我想知道在我的页面的整个生命周期中保持对象可用的最佳方法(通过回发连续设置成员).

我目前使用Sessions来做这件事,但我不确定这是不是最好的方法.

例如:

SearchObject searchObject;
protected void Page_Load(object sender, EventArgs e)
{
     if(!IsPostBack)
     {
         searchObject = new SearchObject();
         Session["searchObject"] = searchObject;
     }
     else
     {
         searchObject = (SearchObject)Session["searchObject"];
     }
}
Run Code Online (Sandbox Code Playgroud)

这允许我在我的页面上的任何其他地方使用我的searchObject,但它有点麻烦,因为我必须重置我的会话变量,如果我改变任何属性等.

我认为必须有一个更好的方法来实现这一点,以便.NET不会在每次加载页面时重新实例化对象,而且还将它放在Page类的全局范围内?

.net c# viewstate session global-scope

40
推荐指数
2
解决办法
6万
查看次数

标签 统计

.net ×1

c# ×1

global-scope ×1

session ×1

viewstate ×1