只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态。

时间:2013-11-28 07:54:29

标签: c# asp.net session

我收到错误

只有在配置文件或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。

的类中

请你帮我解决这个问题。

我错过了什么。

请帮助

谢谢

2 个答案:

答案 0 :(得分:4)

SessionPage构建期间尚未提供,请尝试此操作:

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代替

即可解决问题