我收到错误
只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态。还请确保System.Web.SessionStateModule或自定义会话状态模块包含在应用程序配置的\\部分中。
在我的web.config和页面中,我设置了enableSessionState =" true"
public class PageBase : System.Web.UI.Page
{
public PageBase()
{
if ((string.IsNullOrEmpty(Session["ProgramID"].ToString())) &&
(string.IsNullOrEmpty(Session["UserID"].ToString())) &&
(string.IsNullOrEmpty(Session["CompanyID"].ToString())) &&
(string.IsNullOrEmpty(Session["LanguageID"].ToString())))
{
Response.Redirect("SessionExpire.aspx", false);
}
}
}
我把这个写在一个继承自Web.Ui.Page。
的类中请你帮我解决这个问题。
我错过了什么。
请帮助
谢谢
答案 0 :(得分:4)
Session
在Page
的构建期间尚未提供,请尝试此操作:
protected override void OnInit(EventArgs e)
{
if ((string.IsNullOrEmpty(Session["ProgramID"].ToString())) &&
(string.IsNullOrEmpty(Session["UserID"].ToString())) &&
(string.IsNullOrEmpty(Session["CompanyID"].ToString())) &&
(string.IsNullOrEmpty(Session["LanguageID"].ToString())))
{
Response.Redirect("SessionExpire.aspx", false);
}
base.OnInit(e);
}
答案 1 :(得分:0)
在我的情况下,只需使用HttpContext.Current.Response
代替