asp.net webforms - 这是一个坚持状态的好方法吗?

fie*_*ish 3 asp.net webforms

这是关于asp.net WebForms和sessionstate的问题.我知道这可能是MVC更好的情况,但我需要使用WebForms.

在我的页面的OnLoad事件中,我初始化一个对象及其属性(一次调用db,然后是属性的一些逻辑.)我使用这个对象来填充页面上的控件,例如.lblTitle.text = myObj.Title.

此页面上还有一个输入文本框,用户将在其中输入一些信息,然后按"保存"按钮.这将调用一个实用程序函数,它将文本框的内容写入文件并保存.此外,它需要将其保存到myObj.Title中包含名称的文件中.

这是我的问题 - 由于WebForms的无状态方面,在页面加载后,myObj消失了.*这意味着我不能在保存时做这样简单的事情:Util.save(contentsoftextbox,myObj.Title).

所以我通过将myObj.Title的值写入会话变量(页面的OnLoad事件中的Session.Add ["title"] = myObj.Title来解决它.然后当调用save函数时,我将此会话变量用于我的第二个参数.

感谢您阅读这篇文章.

我的问题是:

这感觉就像是完成工作的一种不必要的复杂方式.是吗?我还能做些什么来完成这项任务?

*对?

kd7*_*kd7 5

你看过ViewState了吗?如果您只需要访问您所在页面上的对象而不是将其保留在Session中,那么可能是更好的选择?