【问题标题】:Which Master Page Event fired on loading or after loading every content page?哪个母版页事件在加载或加载每个内容页面后触发?
【发布时间】:2013-02-15 20:51:23
【问题描述】:

在加载每个内容页面时,我想获取内容页面名称。所以我想知道每次加载内容页面时都会触发哪个母版页事件?

【问题讨论】:

    标签: asp.net master-pages


    【解决方案1】:

    这是一个可能有帮助的资源,它说明了 ASP.NET 页面发生的事件:

    http://weblogs.asp.net/ricardoperes/archive/2009/03/08/asp-net-page-events-lifecycle.aspx

    1. Page.OnPreInit
    2. MasterPageControl.OnInit(针对母版页上的每个控件)
    3. Control.OnInit(针对页面上的每个控件)
    4. MasterPage.OnInit
    5. Page.OnInit
    6. Page.OnInitComplete
    7. Page.LoadPageStateFromPersistenceMedium
    8. Page.LoadViewState
    9. MasterPage.LoadViewState
    10. Page.OnPreLoad
    11. Page.OnLoad
    12. MasterPage.OnLoad
    13. MasterPageControl.OnLoad(针对母版页上的每个控件)
    14. Control.OnLoad(针对页面上的每个控件)
    15. OnXXX(控制事件)
    16. MasterPage.OnBubbleEvent
    17. Page.OnBubbleEvent
    18. Page.OnLoadComplete
    19. Page.OnPreRender
    20. MasterPage.OnPreRender
    21. MasterPageControl.OnPreRender(针对母版页上的每个控件)
    22. Control.OnPreRender(针对页面上的每个控件)
    23. Page.OnPreRenderComplete
    24. MasterPageControl.SaveControlState(对于主控上的每个控件 页)
    25. Control.SaveControlState(针对页面上的每个控件)
    26. Page.SaveViewState
    27. MasterPage.SaveViewState
    28. Page.SavePageStateToPersistenceMedium
    29. Page.OnSaveStateComplete
    30. MasterPageControl.OnUnload(针对母版页上的每个控件)
    31. Control.OnUnload(针对页面上的每个控件)
    32. MasterPage.OnUnload
    33. Page.OnUnload

    这里还有the official documentation about ASP.NET page lifecycle,它详细介绍了所有事件。希望这会对您有所帮助。

    编辑;

    嗯,实际上上面看起来有点过头了。看起来您需要做的就是 - 在每个内容页面中,确保引用 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");
    }
    

    【讨论】:

      【解决方案2】:

      请尝试以下活动

      受保护的覆盖无效 OnInit(EventArgs e) { //在这里做你的事情}

      【讨论】:

        猜你喜欢
        • 2020-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 1970-01-01
        • 2015-06-19
        相关资源
        最近更新 更多