在Web表单和母版页中添加页面标题的一部分

时间:2013-08-27 10:53:27

标签: asp.net master-pages title

我在<title>附近有这个母版页代码:

<title>
    <asp:ContentPlaceHolder ID="title" runat="server">
    </asp:ContentPlaceHolder>
</title>

并且在使用此母版页的网页表单中,我有以下代码:

<asp:Content ID="Content1" ContentPlaceHolderID="title" runat="server">

</asp:Content> 

如何在使用此Maser页面的Web表单代码后面的主页面代码和title的其他部分中添加title页面的某些部分?

,因为<title>不接受内部标记;我无法使用某些<div>来解决此问题。

1 个答案:

答案 0 :(得分:2)

如果我理解你是正确的,你想将页面标题设置为来自后面的母版页代码和后面的内容页面代码的字符串组合,对吗?

我不会使用asp:Content占位符,而是使用asp:Literal。 这意味着您需要以下内容:

<强> MasterPage.Master:

<title>
    <asp:Literal ID="TitleLiteral" runat="server"></asp:Literal>
</title>

<强> MasterPage.Master.cs:

public void SetTitle(string text)
{
    TitleLiteral.Text = "my part of the title from master page" + text;
};

<强> ContentPage.aspx.cs:

protected void Page_Load(object sender, EventArgs e)
{
    ((MasterPage)Master).SetTitle("My part of the title from content page");
};

其中MasterPage是您的母版页的名称(public partial class MasterPage: System.Web.UI.MasterPage)。