在加载每个内容页面时,我想获取内容页面名称。所以我想知道每个内容页面加载时都会触发哪个母版页事件?
问问题
3043 次
2 回答
2
这是一个可能有帮助的资源,它说明了 ASP.NET 页面发生的事件:
http://weblogs.asp.net/ricardoperes/archive/2009/03/08/asp-net-page-events-lifecycle.aspx
- Page.OnPreInit
- MasterPageControl.OnInit(用于母版页上的每个控件)
- Control.OnInit(针对页面上的每个控件)
- MasterPage.OnInit
- Page.OnInit
- Page.OnInitComplete
- Page.LoadPageStateFromPersistenceMedium
- Page.LoadViewState
- MasterPage.LoadViewState
- Page.OnPreLoad
- Page.OnLoad
- MasterPage.OnLoad
- MasterPageControl.OnLoad(对于母版页上的每个控件)
- Control.OnLoad(针对页面上的每个控件)
- OnXXX(控制事件)
- MasterPage.OnBubbleEvent
- Page.OnBubbleEvent
- Page.OnLoadComplete
- Page.OnPreRender
- MasterPage.OnPreRender
- MasterPageControl.OnPreRender(用于母版页上的每个控件)
- Control.OnPreRender(针对页面上的每个控件)
- Page.OnPreRenderComplete
- MasterPageControl.SaveControlState(对于母版页上的每个控件)
- Control.SaveControlState(针对页面上的每个控件)
- Page.SaveViewState
- MasterPage.SaveViewState
- Page.SavePageStateToPersistenceMedium
- Page.OnSaveStateComplete
- MasterPageControl.OnUnload(针对母版页上的每个控件)
- Control.OnUnload(针对页面上的每个控件)
- MasterPage.OnUnload
- Page.OnUnload
这里还有关于 ASP.NET 页面生命周期的官方文档,其中详细介绍了所有事件。希望这会对您有所帮助。
编辑;
嗯,实际上上面看起来有点过头了。看起来您需要做的就是 - 在每个内容页面中,确保引用 ASPX 文件中的母版页:
<%@ MasterType virtualpath="~/Masters/Master1.master" %>
然后在母版页中有一个公共方法,例如:
public void LogContentPageName(string name)
{
// Do whatever you want with the passed name.
}
然后在内容页面的 Page_Load 事件中,您可以执行以下操作:
protected void Page_Load(object sender, Eventargs e)
{
Master.LogContentPageName("Whatever");
}
于 2013-02-15T12:45:44.623 回答
0
Please try with below event
protected override void OnInit(EventArgs e) { //do your stuff here }
于 2013-02-15T12:44:41.087 回答