开发者

Session is null when inherit from System.Web.UI.Page

I want to extend the System.Web.UI.Page-class with some extra stuff. In the ctor I need the value of a session-variable.

The problem is that the Session-object is null...

public class ExtendedPage : System.Web.UI.Page {
   protected foo;   

   public ExtendedPage() {
      this.foo = (int)HttpContext.Current.Session["foo"];   // NullReferenceException
   }
}

If I move the part with the session-object into the Load-Event everything works fine...

public class ExtendedPage : System.Web.UI.Page {
   protected foo;

   public ExtendedPage() {
开发者_JAVA技巧      this.Load += new EventHandler(ExtendedPage_Load);
   }

   void ExtendedPage_Load(object sender, EventArgs e) {
      this.foo = (int)HttpContext.Current.Session["foo"];
   }
}

Why is the Session-object null in the first case??


The Session property is set later in the Page lifecycle, after the Page object is constructed.


You have to inherit the ExtendedPage class in an .aspx Page.

It will have Session when run in the HttpContext

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜