【问题标题】:Does master page get called first?是否首先调用母版页?
【发布时间】:2012-05-08 19:41:45
【问题描述】:

我认为这是真的,但想提出这个问题。是在 ASP.NET 中首先执行母版页,还是正在检索的页面?

我问是因为我想在母版页中完成一些处理,其结果被加载到一个静态对象中,然后可以被调用的页面使用(例如用户数据)

【问题讨论】:

标签: c# asp.net .net master-pages


【解决方案1】:

对不起,只是引用,但我不知道该补充什么:

各个 ASP.NET 服务器控件都有自己的生命周期,即 类似于页面生命周期。例如,一个控件的 Init 和 Load 事件发生在相应的页面事件期间。

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

http://msdn.microsoft.com/en-us/library/ms178472.aspx

【讨论】:

  • 我认为在提供链接的同时引用文档是可以的。该报价使读者更快地找到解决方案-另外,考虑到OP的问题作为上下文,我相信您可能会简化文档。我在您在答案中放在前面的图片中找到了我的答案的详细信息。是一篇有用的帖子。
【解决方案2】:

执行优先级

  1. 内容页面
  2. 母版页
  3. 用户控制

【讨论】:

    【解决方案3】:

    大多数页面事件将在母版页上的相应事件之前被调用(本质上,母版页被认为是它链接到的页面的部分 - 它是一个用户控件)。

    有关详细信息,请参阅 OdeToCode 上的 ASP.Net 2.0 - Master Pages: Tips, Tricks, and Traps

    【讨论】:

    • 母版页实际上是一个用户控件:)
    【解决方案4】:

    您可以查看 .net 文档,其中说明了事件的调用时间和顺序

    thisthisthis

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      • 2011-09-25
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 2012-07-15
      相关资源
      最近更新 更多