2010-08-02 48 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只是给你页的家长控制,这不一定是主。