这是我写的用户验证类,我先试验能成功不,就写了一句
public class BasePage : System.Web.UI.Page
{
    public BasePage()
{
        if (Session["user"] == null)
            Response.Redirect("~default.aspx");
}
}
普通的一个网页当中
public partial class upfile :BasePage{}
运行的时候
只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 <configuration>\<system.web>\<httpModules> 节中包括 System.Web.SessionStateMod 或自定义会话状态模块。
难道是session不能在构造函数当中使用,如果是这个原因的话,如何在BasePage来取出session当中的值,来进行和数据库的验证呢?

解决方案 »

  1.   

    HttpContext.Current.Request.Url.Authority
    类似于这样的写,试一下.
      

  2.   

    HttpContext.Currentsession前加上上面的
      

  3.   

    public class BasePage : System.Web.UI.Page  
      {    
      public BasePage()  
      {  }
      protected override void OnInit(EventArgs O)  
      {  
      if (base.Session["UserId"] == null || base.Session["UserId"].ToString().Equals(""))  
      {  
      Response.Redirect("~/Error.aspx");  
      }  
      }  
      }  
    public partial class Error : System.Web.UI.Page  
      {  
      protected void Page_Load(object sender, EventArgs e)  
      {  
      Response.Write(" <script>top.location.href='login.aspx'; </script>");  
      }  
      }  
    类库项目使用session,HttpContext.Current.Session