簡體   English   中英

內容頁面呈現后在母版頁面上觸發哪個事件

[英]Which event is fired on master page after content pages have rendered

我有一個要求,只有在內容頁面設置了頁面標題之后,才需要將頁面標題的值傳遞給Facebook共享插件。 有幾個頁面(動態數據頁面)在特定控件的PreRender事件上設置了頁面標題(我無法更改此設置)。

如果我在母版頁的PreRender上傳遞內容頁標題,則它將返回未設置的值,因為在內容頁的控件PreRender之前會PreRender母版頁的PreRender 我嘗試在母版頁的Unload事件中傳遞值,但是它不起作用! 我該如何實現?

因此,問題可以概括為:在內容頁面執行完所有任務並准備卸載之后,在母版頁面上執行某些操作。

有沒有辦法在母版頁本身中執行此操作,還是我必須在各個頁面中執行此操作?

參考: ASP.NET母版頁和內容頁中的事件

動態數據頁:

string Location = null;
protected void DynamicFilter_PreRender(object sender, EventArgs e)
{
    DynamicFilter Filter = (DynamicFilter)sender;    
    MetaColumn metaColumn = table.GetColumn(Filter.DataField);    
    QueryableFilterUserControl fuc1 = Filter.FilterTemplate as ForeignKeyFilter;

    if (fuc1 != null && fuc1.FilterControl != null)
    {
        DropDownList ddl = fuc1.FindControl("DropDownList1") as DropDownList;                
        if (ddl != null)
        {
            if (metaColumn.DisplayName == "Location")
            {
                if (ddl.SelectedIndex != 0)
                {
                    Location = ddl.SelectedItem.Text;
                }
            }
        }
    }

    if (Location != null)
    {
         // set the page title based on the location             
         Page.Title = String.Format("Recent {0} Fares", Location);
    }
}

此功能設置內容頁面的(動態數據頁面)標題。 現在,僅在設置好標題后,我才需要在我的主頁上訪問它。

母版頁:

protected void Page_Load(object sender, EventArgs e)
{
    // pass the value of page title to SocialNetworkingHelper class to do some work
    SocialNetworkingHelper.SetSocialMediaMetaTag(this.Page, this.Page.Title);
}

使用頁面卸載事件執行最終清理,如關閉文件,釋放內存等...如果在此處設置頁面標題,將不會呈現....您必須在控件預渲染事件本身上設置標題...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM