繁体   English   中英

会话值在页面加载中丢失

[英]session value lost in page load

我已经从2003年到2005年转换了一个Web应用程序项目。2003年一切正常,但是在2005年转换的Web应用程序项目出现了一些问题,问题在于会话值,最初会话值运行良好(第一次),但是如果页面是第二次加载,则会话值将为空。

在第一页中设置会话值,在第二页中设置会话值,然后单击按钮将重新加载页面,现在会话值为空。

请给我一些答案或链接以供参考。

检查您的应用程序是否没有更改文件夹结构中的任何内容,例如创建新文件或文件夹。 这通常会导致应用程序被重置,从而导致会话信息丢失。 特别是某些特殊的文件夹和文件,例如App_Code文件夹和Web.Config ,在修改后会立即重置应用程序。

如果不是这种情况,则可能是代码逻辑问题。 尝试使用属性重构会话变量的读/写操作:

private string MySessionVar {
    get { return (string)Session["MySessionVar"]; }
    set { Session["MySessionVar"] = value; }
}

然后将断点添加到getter和setter并运行代码以检查是什么导致会话变量被覆盖。 确保使用了用户控件。

另外,如果仅在当前页面上使用该变量,则可以考虑使用Viewstate变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM