Asp.net主页重复标题

时间:2014-04-28 09:07:04

标签: asp.net master-pages

据我所知,这已在SO上多次讨论,但看起来我的情况有所不同。

我有一个主页,根本没有<title>个标签。所有内容页面的标题都在@Title页面指令中设置。

最近,出现了一个要求,即只有单个页面(主页面的内容页面)才能动态生成标题。我使用用户控件来获取动态内容并设置页面标题。

现在,由于主页的行为已知,具有动态标题的单个页面具有空<title>标记。

正如SO上的许多其他帖子所暗示的那样,我可以在母版页上设置一个不可见的标签来解决这个问题,但是标题设置为页面指令的所有其他页面的标题都会丢失。

可能是单个页面的单独母版页,动态标题是一种解决方法,但有没有其他解决方案可以解决这个问题?

2 个答案:

答案 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>