如果母版页已有标题,如何从Web表单显示页面标题?

时间:2018-04-04 23:10:24

标签: asp.net master-pages

当我渲染default.apsx时,浏览器选项卡中的页面标题取自母版页,我希望它来自default.aspx

这是default.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

            <title>Default.aspx Page Title</title>

    </asp:Content>

这是母版页

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Master Page Title</title>
    <asp:ContentPlaceHolder id="head" runat="server">

    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:3)

取决于,你可以硬编码当前的aspx页面。

protected void Page_Load(object sender, EventArgs e)
{
    Page.Title = "new page title";
}

或者您可以从其他来源获取标题,例如Web.sitemap文件。

如果你想从页面上的内容中获取它,标题必须位于runat="server"的控件中,这样你就可以从代码隐藏中获取值。