1

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

Page 1
   User Control 2
      User Control 3

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

谢谢。

4

3 回答 3

2

你看到的不是错误。它正在发生,因为这就是它应该发生的方式

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

于 2011-03-13T02:52:14.443 回答
1

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

于 2011-03-13T03:00:31.123 回答
1

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

于 2011-03-13T03:04:38.020 回答