使用自定义BasePage的方法减少页面代码
1.先建立BasePage.cs,继承自Page类
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
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");
}
}
}
}