【问题标题】:Interesting ASP.NET Lifecycle Event Firing Error有趣的 ASP.NET 生命周期事件触发错误
【发布时间】:2011-03-13 02:46:46
【问题描述】:

我遇到了一个有趣的生命周期事件错误,想象一下这样的代码层次结构:

Page 1
   User Control 2
      User Control 3

这些项目中的每一个都是按此顺序的子项。我希望第 1 页首先触发其 oninit,然后是用户控件 2,然后是用户控件 3。但这不会发生;实际上,在这种情况下,用户控件 3 首先触发 init。我有每一个都继承自一个特殊的基类,并且有一些需要按顺序运行的管道代码。知道为什么会这样吗?

谢谢。

【问题讨论】:

标签: c# asp.net page-lifecycle init


【解决方案1】:

您看到的不是错误。这是因为that's the way it's supposed to happen:

个人Init事件 控件发生在Init 之前 页面事件。

【讨论】:

    【解决方案2】:

    正如其他人所指出的,Init 事件是自下而上触发的,而后来的事件(如 Load)是自上而下触发的。

    【讨论】:

      【解决方案3】:

      如何引发事件的一般规则是初始化事件从最内层控件引发到最外层,所有其他事件从最外层控件引发到最内层。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-07
        • 2012-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多