为什么在卸载 aspx 页之前卸载母版页调用的事件



我试图找到母版页和 aspx 页之间的事件序列。我开始知道母版页调用的卸载事件,然后卸载ASPX页面的事件。

我已经在许多网站上读过这篇文章,但我正在寻找背后的原因。如果有人对此有想法,请帮助我。

我发现的一个很好的理由是:

母版页的行为类似于页面上的子控件。

这意味着 Asp.Net 页生命周期引发任何 Control 事件的方式与引发母版页事件的方式相同。

例如,考虑Init event。MSDN 表示,各个控件的 Init 事件发生在页面的 Init 事件之前。因此,母版页的 Init 事件发生在页面的 Init 事件之前。

再举一个例子,考虑Load event。MSDN 表示,单个控件的 Load 事件发生在页面的 Load 事件之后。因此,母版页的加载事件发生在内容页的加载事件之后。

这确实得到了MSDN的证实::

Master pages behave like child controls on a page: the master page Init event 
occurs before the page Init and Load events, and the master page Load event 
occurs after the page Init and Load events

所以,现在你可以说the way Unload event is raised for controls, it will be same for master page. 首先为每个控件引发 Unload 事件,然后为页面引发该事件。所以这就是在内容页之前调用母版页卸载事件的原因。

最新更新