页面基类:
using System;
using System.Collections.Generic;
using System.Web;
/// <summary>
///PageBase 的摘要说明
/// </summary>
public class PageBase : System.Web.UI.Page
{
public PageBase()
{
}
protected override void OnInit(EventArgs e)
{
Response.Write("页面基类输出OnInit!");
base.OnInit(e);
}
protected override void OnPreLoad(EventArgs e)
{
Response.Write("页面基类输出OnPreLoad!");
base.OnPreLoad(e);
}
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("页面基类输出Page_Load!");
base.OnPreLoad(e);
}
protected override void OnPreRender(EventArgs e)
{
Response.Write("页面基类输出OnPreRender!");
base.OnPreRender(e);
}
}
页面子类:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class _Default : PageBase
{
/// <summary>
/// 注意把整个方法体全部注释后输出的结果
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("子类输出Page_Load!");
}
}
没有注释子类的Page_Load,
输出:页面基类输出OnInit!页面基类输出OnPreLoad!子类输出Page_Load!页面基类输出OnPreRender!
注释子类的Page_Load,
输出:页面基类输出OnInit!页面基类输出OnPreLoad!页面基类输出Page_Load!页面基类输出OnPreRender!
你看网上的文章, 写生命周期, 大大的篇幅吓死人, 其实我们真正能用到的, 并不多。 上面的4个, 基本上就够了。
页面基类, 可以完成如权限控制,样式加入等等。
用页面基类, 最好是将代码放在 OnInit 或者 OnPreLoad 方法中, 这样子类中的Page_Load的执行顺序在其之后, 可以很方便的完成你要的操作了。