页面生命周期中的哪个位置是母版页的加载事件(不是OnLoad还是Page_Load)?

时间:2015-04-21 20:06:20

标签: asp.net webforms page-lifecycle

我对页面生命周期的理解如下:

  1. Page Page_reInit

  2. MasterPage Page_Init

  3. Page PageInit

  4. 页面PageInitComplete

  5. Page Page_reLoad

  6. Page Page_Load

  7. MasterPage Page_Load

  8. Page_LoadComplete

  9. Page_PreRender

  10. MasterPage Page_PreRender

  11. 页面Page_PreRenderComplete

  12. Page Page_SaveStateComplete

  13. MasterPage Page_Unload

  14. Page Page_Unload

  15. 鉴于上述情况,MasterPage的Load事件在哪里触发?在谈论OnLoad事件时,谷歌并没有帮助很多人说Load。

2 个答案:

答案 0 :(得分:1)

主页面加载事件介于内容页面加载事件和主页面控件加载事件之间。

查看MSDN了解详情

  

虽然Init和Load都是在每个控件上递归发生的,但它们都是   以相反的顺序发生。 Init事件(以及Unload事件)   对于每个子控件,在引发相应事件之前发生   对于它的容器(自下而上)。但是容器的Load事件   发生在其子控件的Load事件之前(自上而下)。   母版页的行为类似于页面上的子控件:母版页   Init事件发生在页面Init和Load事件之前,以及master   页面加载事件发生在页面Init和Load事件之后。

MSDN

答案 1 :(得分:0)

以下是母版页与内容页面合并时发生事件的顺序:

  
      
  1. 内容页面PreInit事件。
  2.   
  3. 母版页控制初始事件。
  4.   
  5. 内容控制Init事件。
  6.   
  7. 母版页初始化事件。
  8.   
  9. 内容页面初始化事件。
  10.   
  11. 内容页面加载事件。
  12.   
  13. 母版页加载事件。
  14.   
  15. 主页面控制加载事件。
  16.   
  17. 内容页面控制加载事件。
  18.   
  19. 内容页面PreRender活动。
  20.   
  21. 主页PreRender活动。
  22.   
  23. 母版页控制PreRender事件。
  24.   
  25. 内容页面控制PreRender事件。
  26.   
  27. 主页控制卸载事件。
  28.   
  29. 内容页面控制卸载事件。
  30.   
  31. 母版页卸载事件。
  32.   
  33. 内容页面卸载事件。
  34.   

来源:https://msdn.microsoft.com/en-us/library/dct97kc3%28v=vs.140%29.aspx?f=255&MSPPError=-2147217396