首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在blazor中设置页面标题?

如何在blazor中设置页面标题?
EN

Stack Overflow用户
提问于 2019-11-14 18:27:00
回答 10查看 18.8K关注 0票数 27

作为一个SPA框架,我想知道是否可以为Blazor中的每个页面设置一个页面标题?

我目前正在开发Blazor组件项目,并且无法找到添加页面标题的方法,因为在SPA中只有一个index.html,但是如果可以实现它来设置每个“页面”的标题,那将是非常有用的。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2019-11-14 20:31:42

注意:从.Net 6.0开始,官方支持更改标题,因此不再需要下面的解决方案。

  1. 在index.html (或包含的.js文件)中提供以下脚本:
  2. 在每一页中注入j烧结操作: @inject JSRuntime;
  3. 每次呈现后,将文档标题设置为所选值: @代码{受保护的覆盖异步任务OnAfterRenderAsync(bool firstRender) {等待JSRuntime.InvokeVoidAsync("setTitle",“这是新标题”);;}
票数 21
EN

Stack Overflow用户

发布于 2020-10-05 17:12:03

在ASP.NET核心5.0中,添加了一个用于标题的新组件

代码语言:javascript
运行
复制
 <Title value="Page title" /> 

参考资料:https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/additional-scenarios?view=aspnetcore-5.0#influence-html-head-tag-elements

首先在组件中添加using语句

代码语言:javascript
运行
复制
@using Microsoft.AspNetCore.Components.Web.Extensions.Head

可以使用该命令安装(如果没有安装)。

代码语言:javascript
运行
复制
dotnet add package Microsoft.AspNetCore.Components.Web.Extensions --version 5.0.0-preview9.20467.1

5.0.0-预览9.20467.1是我写这篇文章时的版本。请查看nuget url的最新版本。

Nuget url:https://www.nuget.org/packages/Microsoft.AspNetCore.Components.Web.Extensions/

然后添加标题标签。

代码语言:javascript
运行
复制
<Title Value="My page title" />

参见下面的示例输出映像

票数 17
EN

Stack Overflow用户

发布于 2020-09-17 01:14:06

对于那些针对.NET Core3.1的人

对于这个帖子,您可以制作一个可重用的组件。

将以下脚本添加到js文件中,或添加到index.html

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>

<head>
...
</head>

<body>
...
    <script>
        window.setTitle = (title) => {
            document.title = title;
        }
    </script>
</body>

</html>

在共享文件夹中创建一个新组件PageTitle.razor

代码语言:javascript
运行
复制
@inject IJSRuntime JsRuntime;

@code {
    [Parameter]
    public string Title { get; set; }

    protected override async Task OnInitializedAsync()
    {
        await SetTitle();
    }

    private async Task SetTitle()
    {
        await JsRuntime.InvokeVoidAsync("setTitle", Title);
    }
}

添加到要更改以下名称的剃须刀页面:

代码语言:javascript
运行
复制
<PageTitle Title="Home sweet home" />

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58863542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档