在页面重新加载时,所有对象都被销毁?

时间:2013-04-19 18:24:31

标签: c# asp.net webforms

如何在c#/ asp.net中生成页面重新加载/回发后的对象X的持久列表? 这在c#中从来都不是问题,但在asp.net中,post-back将消灭所有内容。

2 个答案:

答案 0 :(得分:2)

Asp.net是为HTTP协议构建的,stateless,因此您无法在回发时找到该对象。您可以改为使用视图状态。

ViewState

  

简而言之,Microsoft®ASP.NET视图状态是使用的技术   一个ASP.NET网页,用于持久更改Web窗体的状态   跨回发。

视图状态的角色

  

查看国家生活的目的很简单:它是坚持国家的目的   跨回发。 (对于ASP.NET网页,其状态是属性   构成其控制层次结构的控件的值。)这个问题   问题是,“需要坚持哪种状态?”回答   那个问题,让我们先来看看哪个州不需要   坚持回发。回想一下,在实例化阶段   页面生命周期,控件层次结构和那些   已分配声明性语法中指定的属性。   由于这些声明性属性会自动重新分配   构建控件层次结构时的每个回发,都没有   需要在视图状态中存储这些属性值。

答案 1 :(得分:1)

您始终可以将项目保存到当前会话中。

例如:

Session["var1"] = // whatever you want

无论PostBacks如何,您的Session对象将一直存在,直到当前会话到期。