使用VS2008,C#。当AutoEventWireup
设置为true并且在Web表单中调用base.OnLoad(e)
时:
protected void Page_Load(object sender, EventArgs e)
{
base.OnLoad(e);
}
base.OnLoad(e)
最终调用 Page_Load
(调用自身)。这最终导致堆栈溢出错误。我成功地通过将 AutoEventWireup
设置为 false 并重写 OnLoad
来解决了这个问题:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
这个按我预期的方式工作(没有堆栈溢出)。 但是,有没有人能解释一下为什么在第一个示例中,base.OnLoad(e)
调用相同的加载事件(调用自身),而不是调用基类中的OnLoad
事件(System.Web.UI.Page
)?