如何在 c# / asp.net 中创建在页面重新加载/回发后仍然存在的对象 X 的持久列表?这在 c# 中从来都不是问题,但在 asp.net 中,回发会清除所有内容。
问问题
1243 次
2 回答
2
Asp.net 是为无状态的HTTP协议构建的,因此您无法在回发时找到对象。您可以改用视图状态。
视图状态
简而言之,Microsoft® ASP.NET 视图状态是 ASP.NET 网页使用的一种技术,用于在回发期间保持对 Web 窗体状态的更改。
视图状态的作用
视图状态在生活中的目的很简单:它可以在回发中保持状态。(对于 ASP.NET 网页,它的状态是构成其控件层次结构的控件的属性值。)这就引出了一个问题,“需要保持什么样的状态?” 为了回答这个问题,让我们首先看看哪些状态不需要在回发中持久化。回想一下,在页面生命周期的实例化阶段,会创建控件层次结构并分配声明性语法中指定的那些属性。由于在构造控件层次结构时,这些声明性属性会在每次回发时自动重新分配,因此无需将这些属性值存储在视图状态中。
于 2013-04-19T18:25:41.543 回答
1
您可以随时将您的项目保存到当前会话。
例如:
Session["var1"] = // whatever you want
并且您的 Session 对象将一直存在,直到当前会话过期,而不管 PostBacks。
于 2013-04-19T18:25:42.437 回答