gpt4 book ai didi

c# - ASP.NET 页面中的 base.OnLoad(e)

转载 作者:太空狗 更新时间:2023-10-29 22:08:52 25 4
gpt4 key购买 nike

我可能误解了 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(进入)时,调试器将我带到 MyUserControl 的 Page_Load,因此控制流程是:

BaseUC.OnLoad()
MyUserControl.Page_Load()
BaseUC.SomeAbstractMethod()

谁能解释一下这是怎么回事?

最佳答案

  1. BaseUC.Onload 调用 Control.OnLoad 触发 Load 事件。
  2. Page_Load 方法因 AutoEventWireUp=True 而起作用,并在 Load 事件执行时执行。
  3. 然后 BaseUC 将继续执行,调用 SomeAbstractMethod。

关于c# - ASP.NET 页面中的 base.OnLoad(e),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1329090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com