是的,这是可能的。只需在构造函数中附加页面加载处理程序。你就是这样做的。
/// <summary>
/// Your PageBase class.
/// </summary>
public class PageBase : System.Web.UI.Page
{
/// <summary>
/// Initializes a new instance of the Page class.
/// </summary>
public Page()
{
this.Load += new EventHandler(this.Page_Load);
}
/// <summary>
/// Your Page Load
/// </summary>
/// <param name="sender">sender as object</param>
/// <param name="e">Event arguments</param>
private void Page_Load(object sender, EventArgs e)
{
try
{
}
catch
{
//handle the situation gracefully.
}
}
}
编辑
这就是它的工作原理。
Load
是否在中声明了公共事件
System.Web.UI.Page
它在pageBase类中继承。由于这是一个可以在事件上附加尽可能多的处理程序的事件,因此每当
负载
引发了事件。在
PageBase
类,我们将事件处理程序例程附加到加载事件。这是更好的方法,而不是继承需要显式调用基本版本的onload保护例程。当创建/实例化实际的页对象时,首先创建基类对象,然后实例化子类,因此当构造PageBase对象时,事件处理程序将附加到加载事件上,每当页对象触发加载事件时,将调用该事件。