当母版页已经有标题时,如何从网页表单中显示页面标题?

How to make the page title display from the web form when the Master Page already has a title?

当我呈现 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>

看情况,你可以hard-code当前的aspx页面。

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

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

如果你想从页面上的东西中获取它,标题必须在带有 runat="server" 的控件中,这样你就可以从 code-behind.

中获取值