我的asp.net项目有两个aspx页面,login.aspx和opente.aspx页面,当在longin.aspx页面登陆后,将username记录到session中,
然后跳转到opente.aspx 页面,在进入opente.aspx,触发page_load事件时判定Session["username"],结果发现HttpContext.Current.Session为null,HttpContext.Currentb不为null,
重新跳转到longin.aspx 发现Session["username"]不为null,可以取出之前存储的用户名,
反复验证了几次,发现只要是跳转到opente.aspx页面就HttpContext.Current.Session 为null,并且报异常:
只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 <configuration>\<system.web>\<httpModules> 节中包括 System.Web.SessionStateMod 或自定义会话状态模块。
求高手帮忙!!!
这异常的提示信息里面的两点都有做吗?
随便默认建立的网站session都是启用的。
很有可能是opente.aspx的page指令里面强行指定enableSessionState =false
opente.aspx的page指令里面没有指定enableSessionState =false,在webconfig中指定了enableSessionState=true;
是不是你的浏览器没有开cookie?
重新跳回到longin.aspx页面时可以取出session中的值得,cookie肯定开了,要不然没有sessionid,就不会取到session值了
你加一个if(!iIsPostBack){}试试?