首页 > 代码库 > 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 // 节中包括 System.Web.SessionSta

只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 // 节中包括 System.Web.SessionSta

首先搞清楚我们的目的,我的目的是验证用户是否登录,也就是Session["userName"]!=null 就ok了

开始的时候我是这么写的,结果报错,提示如上面标题的错误,查了半天资料都没搞清楚什么问题 

   public class BasePage:System.Web.UI.Page
    {
        public BasePage()
        {
            this.IsLogin();
        }

        public void IsLogin()
        {
            if (Session["DateTime"] == null)
                Response.Redirect("/WebForm1.aspx");
        }
    }

在子类离调用 base.IsLogin() 时是正常的 但是这样太麻烦了 每个页面都要写, 所以有想了想在页面初始化的时候试试 

试了下可以验证 ok 代码如下

   public class BasePage:System.Web.UI.Page
    {
        protected override void OnInit(EventArgs e)
        {
            this.IsLogin();
        }

        public void IsLogin()
        {
            if (Session["DateTime"] == null)
                Response.Redirect("/WebForm1.aspx");
        }
    }

还高清楚为什么构造函数里里面不能调用  

知道的大神请回答下