ASP.NET后台代码如何设置页面标题

24

我正在使用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" %>

我已经尝试将单独的标题标签放置在页面下方,但这也没有起作用。请问有谁能指导如何做到这一点。

4个回答

32
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#",那么这将起作用,我看到您已经这样做了。

来自 MSDN 的 Page 类引用


8

您需要从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" %>
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.Title = "标题";
        }
    }
    

8

网页具有Title属性:Title属性参考

protected void Page_Load(object sender, EventArgs e)
{
    this.Title = "Title";
}

3
使用Page的Title属性需要在页面上放置一个头控件,例如<head runat="server" />。 - Matthew Lock

2

我知道这是一个旧的讨论串,但我发现 Page.Title 并不总是可以被覆盖,但 Page.Header.Title 可以(大多数情况下)... 所以我在 Master 代码后台实现动态标题标签的解决方案如下:

    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"));
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接