布局事件处理程序不会在具有 Net8 的 Blazor Web App 应用程序中启动

Layout event handlers do not launch in a Blazor Web App application with Net8

提问人:Akira 提问时间:11/17/2023 更新时间:11/17/2023 访问量:51

问:

我正在使用 .NET 8 中的 Blazor Web App 为我的网站实现自定义布局,但在从服务器端触发事件时遇到问题。

在创建 Blazor Web 应用项目时,我选择了:

交互式渲染模式:服务器

下面,我将展示我创建的自定义布局的代码。在其中,我重写了 OnAfterRenderAsync 方法。调试时,我无法停止方法中的执行,这让我意识到它没有被执行。此设置适用于使用 .NET 7 的 Blazor Server 项目。

TestLayout.razor

@inherits LayoutComponentBase
<h3>TestLayout</h3>

<h2>
    Hola como estas
</h2>
<div>
    @Body
</div>

@code {
    protected override Task OnAfterRenderAsync(bool firstRender)
    {
        return base.OnAfterRenderAsync(firstRender);
    }
}

Home.剃须刀

@page "/"
@layout Components.Layout.TestLayout
@rendermode InteractiveServer

Hi From Home

作为附加评论并提供上下文,我想提一下,我想要这种行为的原因是因为我需要关联一个在呈现完所有内容后运行的 JavaScript 文件。在这个 JS 文件中,我有布局应该具有的各种 DOM 元素的事件和行为的逻辑。

提前致谢

blazor blazor-server-side net-8.0

评论

0赞 Kurt Hamilton 11/18/2023
我在 AppComponent 中的生命周期事件方面遇到了问题,但在布局组件中没有遇到问题。是否可以使用 blazor fiddle 重现问题?

答: 暂无答案