ASP.NET 母版页和内容页中的事件
母版页和内容页都可以包含控件的事件处理程序。 对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。 控件事件不会从内容页发送到母版页。 同样,也不能在内容页中处理来自母版页控件的事件。
在某些情况下,内容页和母版页中会引发相同的事件。 例如,两者都引发 Init 和 Load 事件。 引发事件的一般规则是初始化事件从最里面的控件向最外面的控件引发,所有其他事件则从最外面的控件向最里面的控件引发。 请记住,母版页会合并到内容页中并被视为内容页中的一个控件,这一点十分有用。
下面是母版页与内容页合并后事件的发生顺序:
-
内容页 PreInit 事件。
-
母版页控件 Init 事件。
-
内容控件 Init 事件。
-
母版页 Init 事件。
-
内容页 Init 事件。
-
内容页 Load 事件。
-
母版页 Load 事件。
-
母版页控件 Load 事件。
-
内容页控件 Load 事件。
-
内容页 PreRender 事件。
-
母版页 PreRender 事件。
-
母版页控件 PreRender 事件。
-
内容页控件 PreRender 事件。
-
母版页控件 Unload 事件。
-
内容页控件 Unload 事件。
-
母版页 Unload 事件。
-
内容页 Unload 事件。
母版页和内容页中的事件顺序对于页面开发人员并不重要。 但是,如果您创建的事件处理程序取决于某些事件的可用性,那么您将发现,了解母版页和内容页中的事件顺序很有帮助。