【发布时间】:2009-12-09 12:52:56
【问题描述】:
这是一个关于 asp.net WebForms 和 sessionstate 的问题。我知道这可能是 MVC 更好的情况,但我需要使用 WebForms。
在我的页面的 OnLoad 事件中,我初始化了一个对象及其属性(一次调用 db,然后是属性的一些逻辑。)我使用这个对象来填充页面上的控件,例如。 lblTitle.text = myObj.Title.
此页面上还有一个输入文本框,用户将在其中输入一些信息,然后按“保存”按钮。这将调用一个实用函数,它将文本框的内容写入文件并保存。此外,它需要将其保存到名称包含在 myObj.Title 中的文件中。
这是我的问题 - 由于 WebForms 的无状态方面,页面加载后,myObj 消失了。* 这意味着我不能在保存时做这样简单的事情:Util.save(contentsoftextbox, myObj.Title)。
所以我通过在页面的 OnLoad 事件中将 myObj.Title 的值写入会话变量 (Session.Add["title"] = myObj.Title 来解决它。然后当调用保存函数时,我使用这个会话我的第二个参数的变量。
感谢您阅读本文。
我的问题是:
这感觉像是完成工作的一种不必要的复杂方式。是吗?我还能做些什么来完成这项任务?
*对吗?
【问题讨论】: