在现有的 ASP.NET 应用程序中,我有一个包含Page_Load
方法的基类:
public class PageBaseClass : System.Web.UI.Page {
protected virtual void Page_Load(object sender, EventArgs e) {
// do stuff...
}
}
我有一个从这个基类继承的实际页面。但是,它不会覆盖现有Page_Load
方法,而是像这样声明一个新方法:
public class ActualPage : PageBaseClass {
protected void Page_Load(object sender, EventArgs e) {
// do other stuff...
}
}
编译器警告我Page_Load
实际页面中的方法正在隐藏现有Page_Load
方法。如此有效,有两种单独Page_Load
的方法,因为旧的方法没有被覆盖,而是隐藏了。
现在我的问题是,在这种情况下,ASP.NET 体系结构在其生命周期中做了什么?调用的是哪一个?或者他们都被称为?
注意:我知道这是一个糟糕的设计,我不确定原作者的想法,我只是想了解正在发生的事情以及这将如何影响系统的逻辑。