如何在 ASP.NET(Web 窗体)中添加标题后缀?

Nic*_*ckG 4 c# asp.net title

我正在尝试向所有页面标题添加标题后缀 = 例如“-MySite”,但我想将其添加到中心位置 - 而不是在每个页面上手动添加。我该怎么做,就好像您有 head runat="server" 一样,您几乎无法控制它的呈现方式。

目前,标题是在 Page 指令中设置的(元素设置为 runat="server")。

Pas*_*ash 5

可以使用自定义 PageAdapter 来完成。不需要母版页或编辑所有页面文件:

将适配器类添加到 Web 项目:

using System;
using System.Web.UI.Adapters;

namespace SampleWebApplication
{
    public class PageTitleAdapter : PageAdapter
    {
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            if (this.Page.Title != null)
            {
               this.Page.Title = "Somesite - " + this.Page.Title;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

右键单击 ASP.NET 项目/添加/添加 ASP.NET 文件夹,选择 App_Browsers。

添加/新建名为 BrowserFile.browser 的浏览器文件到该文件夹​​。

编辑文件以指定适配器类:

<browsers>
    <browser refID="Default">
        <controlAdapters>
            <adapter
              controlType="System.Web.UI.Page"
              adapterType="SampleWebApplication.PageTitleAdapter">
            </adapter>
        </controlAdapters>
    </browser>
</browsers>
Run Code Online (Sandbox Code Playgroud)