ASP.Net事件循环顺序

ASP.Net事件循环顺序

问题描述:

我有这么多问题(通常在按钮点击事件前执行页面加载事件),我决定查看它并发布事件循环排序:ASP.Net事件循环顺序

 Method        Called Controls 
    ------------------------------------------------------ 
1. Constructor       Always All 
2. AddParsedSubObject     Always All 
3. DeterminePostBackMode    Always Page 
4. OnInit        Always All 
5. LoadPageStateFromPersistenceMedium Postback Page 
6. LoadViewState      Postback All 
7. ProcessPostData1     Postback Page 
8. OnLoad        Always All //Page Load 
9. ProcessPostData2     Postback Page 
10. RaiseChangedEvents     Postback Page 
11. RaisePostBackEvent     Postback Page //Button Clicks 
12. OnPreRender       Always All //Put page load events here 
13. SaveViewState      Always All 
14. SavePageStateToPersistenceMedium Always Page 
15. Render        Always All 
16. OnUnload       Always All 
+0

理想情况下,您应该将此作为一个问题,然后可能自己提供答案;) – 2009-05-21 11:47:12

下面是当你有masterpages以及所涉及的事件的完整列表:

ASP.NET Page Events Lifecycle

  1. Page.OnPreInit
  2. MasterPageControl.OnInit(母版页上的每个控制)
  3. Control.OnInit(对于页面上的每个控逆变)
  4. MasterPage.OnInit
  5. Page.OnInit
  6. Page.OnInitComplete
  7. Page.LoadPageStateFromPersistenceMedium
  8. Page.LoadViewState
  9. MasterPage.LoadViewState
  10. Page.OnPreLoad
  11. Page.OnLoad
  12. MasterPage.OnLoad
  13. MasterPageControl.OnLoad(母版页上的每个控制)
  14. Control.OnLoad(对于页面上的每个控制)
  15. OnXXX(控制事件)
  16. MasterPage.OnBubbleEvent
  17. Page.OnBubbleEvent
  18. Page.OnLoadComplete
  19. Page.OnPreRender
  20. MasterPage.OnPreRender
  21. MasterPageControl.OnPreRender(母版页上的每个控制)
  22. Control.OnPreRender(对于页面上的每个控制)
  23. Page.OnPreRenderComplete
  24. MasterPageControl.SaveControlState(对于主页上的每个控件)
  25. Control.SaveControlState(用于页面上的每个控件)
  26. Page.SaveViewState
  27. MasterPage.SaveViewState
  28. Page.SavePageStateToPersistenceMedium
  29. Page.OnSaveStateComplete
  30. MasterPageControl.OnUnload(母版页上的每个控制)
  31. Control.OnUnload(对于页面上的每个控制)
  32. MasterPage.OnUnload
  33. Page。OnUnload