[英]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.