控制页和内容页中都可以包含有控件的事件处理器。控件的事件通常在局部进行处理,如内容页中的控件会在内容页中引发事件,而控制页中的控件则会在控制页中引发事件。所以,内容页中的控件事件不会被发送到控制页中。同样,你也不能够在内容页中处理控制页中的控件事件。
在某些情况下,相同的事件可能会在内容页和控制页中被同时引发。例如,内容页和控制页都会引发各自的 Init
和 Load
事件。事件如何被引发的规则是:初始化事件一般都是在控件层次中按照由内到外的顺序被引发的,而其他所有事件都是在控件层次中按照由外到内的顺序被引发。这有助于我们了解到:控制页是被合并到内容页之中的,并且内容页会把它当作控件来处理的。
如下内容是在控制页被合并到内容页的时候所引发的事件序列:
控制页控件的
Init
事件。Content
控件的Init
事件。控制页的
Init
事件。内容页的
Init
事件。内容页的
Load
事件。控制页的
Load
事件。Content
控件的Load
事件。内容页的
PreRender
事件。控制页的
PreRender
事件。控制页控件的
PreRender
事件。Content
控件的PreRender
事件。
虽然控制页和内容页中的事件序列对于作为页面开发者的你来说只有很少一部分是重要的。但是,当你在为某些可用性比较高的控件创建事件处理器的时候,你就会发现它们有助于你对控制页和内容页中的事件序列的了解。