2

来自MSDN 上的 ASP.Net 页面生命周期文章

尽管 Init 和 Load 都在每个控件上递归发生,但它们以相反的顺序发生。每个子控件的 Init 事件(以及 Unload 事件)发生在为其容器引发相应事件之前(自下而上)。但是,容器的 Load 事件发生在其子控件的 Load 事件之前(自上而下)。

这对事件很有意义unload,但为什么init呢?其他事件呢?

亲切的问候,

4

1 回答 1

5

这是由于这些页面是如何创建的——用户控件是页面类的属性。它们在类初始化时创建(并因此被初始化),这确保它们的实例在构造函数和页面的 init 事件期间可用。

然后,当加载、预渲染和渲染事件发生时,页面的事件首先触发并级联其中所有内容的事件。

当卸载和处置到来时,属性对象首先被再次处理。

WebForm 页面事件模型有点太复杂了,恕我直言。

于 2009-07-08T08:05:39.750 回答