Blazor PageTitle 标记在迁移到 .NET Core 6 后不起作用

Ber*_*ohr 4 c# head .net-core blazor blazor-server-side

我尝试在 Blazor 服务器应用程序中配置页面标题,但不幸的是,该标记<PageTitle>不起作用。这个项目是在 Microsoft 发布 .NET Core 6 之前开始的,之后我将我的应用程序迁移到了这个版本。

编译或运行都没有错误。

示例页面:

@page "/page"

<PageTitle>My page title</PageTitle>

...
Run Code Online (Sandbox Code Playgroud)

Ber*_*ohr 8

要在<PageTitle>新版本的 .NET Core、服务器端而不是 webAssembly 中使用该标记,您需要<title>用新组件替换标记,并将此库添加到文件中Pages/_Host.cshtml

@using Microsoft.AspNetCore.Components.Web

<head>
  <component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
</head>
Run Code Online (Sandbox Code Playgroud)

从 .NET Core 6 创建的项目脚手架会自动添加这些部分Pages/_Layout.cshtml

理论上,迁移 WebAssembly 项目的用户也需要添加下面的代码Program.cs

builder.RootComponents.Add<HeadOutlet>("head::after");
Run Code Online (Sandbox Code Playgroud)