密切关注 Page 与 Master 的事件顺序

作者:vkvi 来源:ITPOW(原创) 日期:2011-9-7

为什么要密切关注这二者的事件顺序呢?主要是用来避免 Master 中未处理的数据被 Page 用了。

下面介绍常用的几个事件(注意不是全部事件),它们的事件顺序如下:


Page.PreInit
Master.Init
Page.Init
Page.InitComplete

Page.PreLoad
Page.Load
Master.Load
Page.LoadComplete

Page.PreRender
Master.PreRender
Page.PreRenderComplete

Master.Unload
Page.Unload

可以看出:

  • Master 与 Page 相比,事件要少许多。
  • 而与 PreRender 相关的事件中,没有 PrePreRender、Render、RenderComplete 这些名字。
  • 而与 Unload 相关的事件中,没有 PreUnload、UnloadComplete 这些名字。(注意 l 小写)
  • 注意同名的事件中,有的是 Master 先触发,有的是 Page 先触发:Init、Unload 是 Master 先;Load、PreRender 是 Page 先。

其实本文就是想说:

Master 初始化的数据,一般放在 Master.Init 中,这样便于 Page.Init、Page.Load 等调用。

更详细的内容请参见:ASP.NET 页面事件执行顺序

相关文章