A-A+

ASP.NET_Page事件的执行顺序

2008年01月24日 編程·程序設計 暂无评论 阅读 2,353 views 次
Page 执行中将按照如下顺序激活事件:
  1. Page.PreInit   
  2. Page.Init   
  3. Page.InitComplite   
  4. Page.PreLoad   
  5. Page.Load   
  6. Page.LoadComplete   
  7. Page.PreRender   
  8. Page.PreRenderComplete  

如果页面从令一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩展,如权限检查,而其他页面从BasePage继承,则BasePage和最终Page的事件激活顺序是:

BasePage和最终Page的事件激活顺序
  1. UI.PreInit   
  2. Page.PreInit   
  3. UI.Init   
  4. Page.Init   
  5. UI.InitComplite   
  6. Page.InitComplite   
  7. UI.PreLoad   
  8. Page.PreLoad   
  9. UI.Load   
  10. Page.Load   
  11. UI.LoadComplete   
  12. Page.LoadComplete   
  13. UI.PreRender   
  14. Page.PreRender   
  15. UI.PreRenderComplete   
  16. Page.PreRenderComplete  

如果使用了MasterPage,则MasterPage中的事件和ContentPage中的事件按照下面顺序激活:

MasterPage中的事件和ContentPage中的事件激活顺序:
  1. ContentPage.PreInit   
  2. Master.Init   
  3. ContentPage.Init   
  4. ContentPage.InitComplite   
  5. ContentPage.PreLoad   
  6. ContentPage.Load   
  7. Master.Load   
  8. ContentPage.LoadComplete   
  9. ContentPage.PreRender   
  10. Master.PreRender   
  11. ContentPage.PreRenderComplete  

更进一步,如果ContentPage继承BasePage,那么,各事件的执行顺序将变成:

ContentPage继承BasePage执行顺序:
  1. UI.PreInit   
  2. ContentPage.PreInit   
  3. Master.Init   
  4. UI.Init   
  5. ContentPage.Init   
  6. UI.InitComplite   
  7. ContentPage.InitComplite   
  8. UI.PreLoad   
  9. ContentPage.PreLoad   
  10. UI.Load   
  11. ContentPage.Load   
  12. Master.Load   
  13. UI.LoadComplete   
  14. ContentPage.LoadComplete   
  15. UI.PreRender   
  16. ContentPage.PreRender   
  17. Master.PreRender   
  18. UI.PreRenderComplete   
  19. ContentPage.PreRenderComplete  

 

原文地址:http://www.cnblogs.com/wf225/archive/2007/12/06/984781.html

给我留言

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

Copyright © 寂寞部屋 保留所有权利.   Theme  Ality

用户登录