.NET创建Web窗体基类

来源:互联网 发布:天使之翼 网络大电影 编辑:程序博客网 时间:2024/06/06 12:38

用Java开发时,一般都用一个抽象类继承HttpServlet来控制

public abstract class FormObject extends HttpServlet {}


今天在用.NET开发时,也希望创建一个抽象基类,该类继承System.Web.UI.Page,以便打开页面时判断是否登陆。但在其构造函数中使用Session发现问题。

有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 <configuration>\<system.web>\<httpModules> 节中包括 System.Web.SessionStateMod 或自定义会话状态模块。

解决方法:重写父类的OnInit,并在其内加入Session的访问即可

public abstract class FormObject : System.Web.UI.Page{public FormObject(){               }   protected override void OnInit(EventArgs e)//Session的判断要放到OnInit中,而不是放到FormObject的基类中    {        base.OnInit(e);        if (Session["userid"] == null || Session["userid"].ToString() == "")        {            Response.Redirect("./ErrorsPage.aspx");            return;        }     }}