【发布时间】:2009-08-25 23:40:27
【问题描述】:
我可能误解了base.OnLoad(e);的意思我的理解是这个语句会调用调用它的类的基类的OnLoad方法。但是,当我使用调试器单步执行代码时,我看到了不同的结果。
public abstract class BaseUC : System.Web.UI.UserControl
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
SomeAbstractMethod();
}
}
在 ascx.cs 具体类中
public partial class MyUserControl : BaseUC
{
protected void Page_Load(object sender, EventArgs e)
{
//On Load logic
}
}
我在base.OnLoad(e) 上有一个断点。当我按 F11(step into)时,调试器会将我带到 MyUserControl 的Page_Load,所以控制流程是:
BaseUC.OnLoad()
MyUserControl.Page_Load()
BaseUC.SomeAbstractMethod()
有人能解释一下这里发生了什么吗?
【问题讨论】:
标签: c# asp.net user-controls