Да, это возможно.Просто прикрепите обработчик Page_Load в конструкторе.Вот как вы это делаете.
/// <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.
}
}
}
EDIT
Вот как это работает.
Load
- это публичное событие, объявленное в System.Web.UI.Page
, которое наследуетсякласс PageBase как есть.Поскольку к этому событию вы можете присоединить столько же, сколько и обработчик к событию, каждое из них будет вызываться / выполняться при каждом возникновении события Load
.В классе PageBase
мы присоединяем подпрограмму обработчика событий к событию Load.Это лучший способ сделать это вместо того, чтобы наследовать защищенную подпрограмму OnLoad, где вам нужно явно вызвать базовую версию.Когда фактический объект Page создается / создается, сначала создается объект базового класса, затем создается экземпляр подкласса, поэтому, когда создается объект PageBase, обработчик событий присоединяется к событию Load, которое будет вызываться всякий раз, когда запускается объект Page.Событие загрузки.