1.先建立BasePage.cs,继承自Page类

 1 protected void Page_Load(object sender, System.EventArgs e) 
 2  { 
 3   if(!IsPostBack) 
 4   { 
 5    string name = strID;//Context.User.Identity.Name; 
 6    eMail.Text = DatabaseGateway.RetrieveAddress(name); 
 7    siteName.Text = "Microsoft-site"; 
 8    //定义PageLoad事件
 9    PageLoadEvent(sender, e); 
10   } 
11  } 

2.页面的代码隐藏类继承自BasePage

 1public class Main :BasePage 
 2 {
 3  protected System.Web.UI.WebControls.HyperLink HyperLink1;
 4  protected System.Web.UI.WebControls.Label pageNumber;
 5  //覆写BaePage的PageLoad事件
 6  protected override void PageLoadEvent(object sender, System.EventArgs e) 
 7  
 8   pageNumber.Text = "第一页"; 
 9  }
   
10}

 

应用:BasePage页可以写入很多重复性的内容,例如我们常见的页面验证信息

/// <summary>
/// PageBase 的摘要说明
/// </summary>
public class PageBase : System.Web.UI.Page
{
    public PageBase()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
        this.Init += new EventHandler(PageBase_Init);
    }

    private void PageBase_Init(object sender, EventArgs e)
    {
        if (Session["UserName"] == null || Session["Password"] == null)
        {
            this.Response.Redirect("~/Web/LoginPage.aspx");
        }
        else
        {
            string strUserName = Session["UserName"].ToString();
            string strUserPad = Session["Password"].ToString();
            if (!CommonMethod.HaveAuthority(strUserName, strUserPad, this.Request.Path.ToString()))
            {
                this.Response.Redirect("~/Web/LoginPage.aspx");
            }
        }

    }

}