主页面会首先被调用吗?

11

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

我之所以问这个问题,是因为我想在主页面中进行一些处理,将其结果加载到静态对象中,然后可以被调用的页面使用(例如用户数据)。


你有没有查看这个答案 - Nilish
4个回答

22

很抱歉我只引用了原文,因为我不知道要加什么:

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

尽管Init和Load都递归地发生在每个控件上,但它们以相反的顺序发生。对于每个子控件,其Init事件(以及Unload事件)在容器引发相应事件之前发生(自底向上)。然而,容器的Load事件发生在其子控件的Load事件之前(自上而下)。 母版页在页面上像子控件一样:母版页的Init事件发生在页面的Init和Load事件之前,母版页的Load事件发生在页面的Init和Load事件之后。

http://msdn.microsoft.com/zh-cn/library/ms178472.aspx

enter image description here


我认为引用文档并提供链接是可以的。引用可以更快地将读者带到解决方案 - 而且,考虑到问题背景,我相信您可能已经简化了文档。我在您回答中放置的图片中找到了我的答案细节。这使得帖子非常有用。 - qxotk

8

执行优先级

  1. 内容页
  2. 母板页
  3. 用户控件

4
大多数页面事件会在主页面上对应的事件之前被调用(实质上,主页面被视为与其链接的页面的一部分 - 它是一个用户控件)。
有关详细信息,请参见 OdeToCode 上的 ASP.Net 2.0 - Master Pages: Tips, Tricks, and Traps

3
母版页实际上是一个用户控件 :) - IrishChieftain

0

你可以查看 .Net 文档,其中说明了事件何时以及按什么顺序调用

参见 this, thisthis


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接