据我所知,这已在SO上多次讨论,但看起来我的情况有所不同。
我有一个主页,根本没有<title>
个标签。所有内容页面的标题都在@Title页面指令中设置。
最近,出现了一个要求,即只有单个页面(主页面的内容页面)才能动态生成标题。我使用用户控件来获取动态内容并设置页面标题。
现在,由于主页的行为已知,具有动态标题的单个页面具有空<title>
标记。
正如SO上的许多其他帖子所暗示的那样,我可以在母版页上设置一个不可见的标签来解决这个问题,但是标题设置为页面指令的所有其他页面的标题都会丢失。
可能是单个页面的单独母版页,动态标题是一种解决方法,但有没有其他解决方案可以解决这个问题?
答案 0 :(得分:0)
单页(MyPage.aspx / MyUserControl.ascx)
MyPage.aspx / MyUserControl.ascx代码
protected void Page_Load(object sender, EventArgs e)
{
this.Page.Title = "Dynamic";
}
相同的代码也适用于用户控件的page_load
方法,因为它指的是this.Page
答案 1 :(得分:0)
这是我最终做的事情。在母版页面上,我添加了一个内容占位符,如下所示
<head>
<title><asp:ContentPlaceHolder ID="title" runat="server">Default Page Title Here</asp:ContentPlaceHolder></title>
</head>
在具有静态标题的页面上,只需将内容放在标题占位符
中<asp:Content ID="Content1" ContentPlaceHolderID="title" runat="server">
XXX - Static Title
</asp:Content>
在动态标题页上,称为用户控件而不是静态标题,如
<asp:Content ID="Content1" ContentPlaceHolderID="title" runat="server">
//call user control here
</asp:Content>