2010-08-02 52 views
0

我有一個MasterPage,幾個內容頁面 - 每個內容頁面都有一個UserControl。如何確定UserControl的當前Page.Title值

在MasterPage中,我基於Page_Init「Request.UserAgent.Contains ....」以編程方式設置Page.Title,以便內容頁面最終以不同的頁面標題爲基礎。

每個內容頁面都將其標題設置爲空白(Title =「」),但當頁面呈現時,實用生成的頁面標題顯示在瀏覽器選項卡中。當使用

If(Page.Title == "something") 
{ 
Lable.Text = "something"; 
} 
else if (Page.Title == "somethingElse") 
{ 
lable.Text = "somethingElse"; 
} 

然而,我的標籤仍爲空白:

在後面的用戶控件的代碼,我需要訪問該內容頁的(父頁)Page.Title值,和底座,顯示一些文本這段代碼。我需要什麼方式來確定當前的Page.Title到MasterPage的設置?

C#請

+0

你使用的是asp.net窗體,還是mvc – Nealv 2010-08-02 22:26:37

回答

1
If(this.Parent.Page.Title == "something") 
    { 
     Label.Text = "something"; 
    } 
     else if (this.Parent.Page.Title == "somethingElse") 
    { 
     label.Text = "somethingElse"; 
    } 

你也可以使用this.Master.Page.Title如果你總是在設置母版的稱號。

另外,請記住每個頁面爲Life Cycle。如果您在設置標題之前檢查標題,則會返回空白字符串。

要測試代碼,請嘗試在母版頁中對標題進行硬編碼,並查看代碼是否正常工作。一旦你知道代碼實際上是從父母那裏拉出標題,那麼你需要確保你在設置頁面標題之前嘗試並輪詢它。

+0

嗨rockinthesixstring,仍然是空白的標題。任何其他想法?謝謝,Doug – Doug 2010-08-02 22:29:12

+0

請看我的編輯。您需要查看頁面生命週期| http://msdn.microsoft.com/en-us/library/ms178472.aspx – 2010-08-02 22:33:07

+0

再次感謝,看看你的生命週期鏈接。我改變了我的主頁面代碼,並使用this.Master.Page.Title。一切都在工作。 Life Cylce鏈接也很有幫助。 – Doug 2010-08-03 13:25:59

0

this.Master.Page.Title應該給你主頁的標題,你可以測試和設置你喜歡的任何東西。

this.Parent.Page.Title只是給你頁的家長控制,這不一定是主。