【问题标题】:Which event called first? Master Page Page_Load or Content Page Page_Load哪个事件先调用?母版页 Page_Load 或内容页 Page_Load
【发布时间】:2011-05-27 02:13:27
【问题描述】:

我有一个母版页和一个使用母版页的网页。

我有一个Page_Load 事件处理程序。

Page_Load 处理程序的调用顺序是什么?先内容后大师还是先大师后内容?

【问题讨论】:

  • 为什么不简单地尝试一下呢?使用母版页创建一个页面,处理这两个事件,设置断点并运行您的调试器。

标签: asp.net master-pages


【解决方案1】:

内容页加载事件将在母版页加载事件之前触发。

完整订单请参阅here(MSDN:ASP.NET 主页面和内容页面中的事件)

复制链接失效:

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

  1. 内容页 PreInit 事件。
  2. 母版页控制 Init 事件。
  3. 内容控件初始化事件。
  4. 母版页初始化事件。
  5. 内容页初始化事件。
  6. 内容页面加载事件。
  7. 母版页加载事件。
  8. 母版页控制加载事件。
  9. 内容页面控制加载事件。
  10. 内容页 PreRender 事件。
  11. 母版页 PreRender 事件。
  12. 母版页控制 PreRender 事件。
  13. 内容页面控制 PreRender 事件。
  14. 母版页控制 Unload 事件。
  15. 内容页面控制 Unload 事件。
  16. 母版页卸载事件。
  17. 内容页卸载事件。

【讨论】:

  • 这里需要注意的重要一点是控制加载事件触发的顺序与其他事件不同。母版页的控件加载事件在内容页面控件加载事件之前触发。
【解决方案2】:

母版页从最深层的嵌套向外运行 Page_Load()。因此,您的嵌套网页将首先运行 page_load 事件。

【讨论】:

    【解决方案3】:

    就 MasterPage 确实是一个用户控件而言,所有规则都适用于它,就像用户控件一样:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      相关资源
      最近更新 更多