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
精彩评论