C# ASP.NET从代码隐藏设置页面标题

C# ASP.NET从代码隐藏设置页面标题,c#,asp.net,C#,Asp.net,我正在使用ASP.NET C#创建数据驱动的页面,并希望使用代码隐藏动态设置页面标题 <%@ Page Title="" Language="C#" MasterPageFile="~/FLMaster.master" AutoEventWireup="true" CodeFile="legal-expenses-insurance-news-item.aspx.cs" Inherits="legal_expenses_insurance_news_legal_expenses_insur

我正在使用ASP.NET C#创建数据驱动的页面,并希望使用代码隐藏动态设置页面标题

<%@ Page Title="" Language="C#" MasterPageFile="~/FLMaster.master" AutoEventWireup="true" CodeFile="legal-expenses-insurance-news-item.aspx.cs" Inherits="legal_expenses_insurance_news_legal_expenses_insurance_news_item" %>

我尝试过在页面下方使用单独的标题标签,但这也不起作用。有人能建议怎么做吗

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace MyApplication
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Title = "Title of my page";
        }
    }
}
您可以从aspx.cs(代码隐藏文件)中修改上述页面标题

如果要直接在.aspx文件中执行此操作,请尝试以下操作:

<% this.Title = "Some Title" %>

如果您在
@Page
指令中正确设置了
Language=“C#”
,这一点就行了,我看到您这样做了


页面有一个:


您应该从aspx页面中删除Title=”“。它将覆盖代码隐藏中设置的标题

<%@ Page Language="C#" MasterPageFile="~/FLMaster.master" AutoEventWireup="true" CodeFile="legal-expenses-insurance-news-item.aspx.cs" Inherits="legal_expenses_insurance_news_legal_expenses_insurance_news_item" %>

我知道这是一个旧线程,但我发现Page.Title不能总是被覆盖,但是Page.Header.Title可以(大部分)。。。因此,我的主代码隐藏动态标题标签解决方案是:

    if (Page.Header != null)
    {
        if (Page.Header.Title == null || !Page.Header.Title.Contains("COMPANYNAME"))
        {
            var otitle = Page.Header.Title;
            if (otitle == null || otitle.Length==0) {
                var textinfo = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo;
                otitle = textinfo.ToTitleCase(this.Parent.GetType().Name.Replace("_"," ").Replace("aspx",""));
            }
            Page.Header.Title = "COMPANYNAME" + " - " + otitle;
        }
        Page.Header.Title = Page.Header.Title.Replace("COMPANYNAME", Auth.getSetting("companyName"));
    }

使用页面的Title属性需要页面上的header控件。(例如,head runat=“server”/)。

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.Title = "Title";
        }
    }
    
    if (Page.Header != null)
    {
        if (Page.Header.Title == null || !Page.Header.Title.Contains("COMPANYNAME"))
        {
            var otitle = Page.Header.Title;
            if (otitle == null || otitle.Length==0) {
                var textinfo = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo;
                otitle = textinfo.ToTitleCase(this.Parent.GetType().Name.Replace("_"," ").Replace("aspx",""));
            }
            Page.Header.Title = "COMPANYNAME" + " - " + otitle;
        }
        Page.Header.Title = Page.Header.Title.Replace("COMPANYNAME", Auth.getSetting("companyName"));
    }