Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从UserControl确定当前页面标题值_C#_Asp.net_User Controls_Master Pages - Fatal编程技术网

C# 如何从UserControl确定当前页面标题值

C# 如何从UserControl确定当前页面标题值,c#,asp.net,user-controls,master-pages,C#,Asp.net,User Controls,Master Pages,我有一个母版页,几个内容页-每个内容页都有一个用户控件 在母版页中,我将基于Page_Init“Request.UserAgent.Contains…”以编程方式设置Page.Title,这样内容页最终会基于此设置不同的页面标题 每个内容页的标题都设置为空白(Title=“”),但当页面呈现时,实际生成的页面标题会显示在浏览器选项卡中 在后面的UserControl代码中,我需要访问内容页(父页)的page.Title值,并在此基础上显示一些文本: If(Page.Title == "somet

我有一个母版页,几个内容页-每个内容页都有一个用户控件

在母版页中,我将基于Page_Init“Request.UserAgent.Contains…”以编程方式设置Page.Title,这样内容页最终会基于此设置不同的页面标题

每个内容页的标题都设置为空白(Title=“”),但当页面呈现时,实际生成的页面标题会显示在浏览器选项卡中

在后面的UserControl代码中,我需要访问内容页(父页)的page.Title值,并在此基础上显示一些文本:

If(Page.Title == "something") 
{
Lable.Text = "something"; 
} 
else if (Page.Title == "somethingElse")
{
lable.Text = "somethingElse";
}
但是,使用此代码时,我的标签仍为空。我需要以什么方式确定当前页面。母版页将其设置为什么的标题

C#请

    If(this.Parent.Page.Title == "something") 
    {
        Label.Text = "something"; 
    } 
        else if (this.Parent.Page.Title == "somethingElse")
    {
        label.Text = "somethingElse";
    }
如果您总是在母版页中设置标题,也可以使用
this.Master.Page.Title

另外,请记住,每一页都是一个整体。如果在设置标题之前检查标题,则它将返回一个空白字符串


要测试代码,请尝试在母版页中编写一个标题,然后查看代码是否正常工作。一旦您知道代码实际上正在从父项中提取标题,那么您需要确保在尝试和轮询页面标题之前设置页面标题。

this.Master.page.title
应该为您提供母版页标题,您可以测试并设置为任何您喜欢的标题


this.Parent.Page.Title
只提供了页面的父控件,该控件不一定是主控件。

您使用的是asp.net表单还是字符串,标题仍然为空。还有其他想法吗?谢谢,道格拉斯,请看我的编辑。您需要查看页面生命周期|再次感谢,查看您的生命周期链接。我更改了母版页代码,并使用了此.Master.page.Title。一切都好了。生命周期链接也很有用。