重写System.Web.UI.Page中OnLoad事件实现Session验证

新建一个类库

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace ZUHUACHINA.Option
{
    public class PageBase : System.Web.UI.Page  //表示继承Page类
    {
        //由于页面继承AdminPageBase,在页面构造完成前不会有Session,因此在AdminPageBase()中使用Session不能正确检查登录状态
        public void AdminPageBase()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        public override void OnLoad(EventArgs e)  //重写Page类中的OnLoad方法
        {
            if (HttpContext.Current.Session["userName"] == null || HttpContext.Current.Session["userName"].ToString() == "0")
            {
                Response.Redirect("login.aspx");
                Response.End();
            }
            base.OnLoad(e); //执行父类的OnLoad方法
        }
    }
}

页面使用该类时只需要继承PageBase 该类,就能实现先执行PageBase 中的方法,再执行页面中的代码

即 public partial class index : System.Web.UI.Page替换为public partial class index : PageBase

 

posted @ 2009-07-13 13:46  Hayden Han  阅读(983)  评论(0编辑  收藏  举报