我试图弄清楚为什么我无法在 Blazor 中获取 OnAfterRenderAsync 方法。
在尝试了多个选项并查看了 Microsoft 文档后,我似乎无法找到解决方案,我确定我遗漏了一些东西,但我无法弄清楚问题是什么。
在下面的代码中,调用了 OnInit 函数,但没有调用渲染函数。
<h1>OnInit & OnInitAsync Demo</h1>
@foreach (var item in EventType)
{
@item
<hr />
}
@code{
List<string> EventType = new List<string>();
protected override void OnInitialized()
{
EventType.Add("Initilaized");
}
protected override void OnAfterRender(bool firstRender)
{
EventType.Add("OnAfterRender is called");
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
EventType.Add("OnAfterRenderAsync is called");
await Task.Delay(1000);
}
}
这是我的 .csproj 文件
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
这是我的 _Host.cshtml
<app>
<component type="typeof(App)" render-mode="ServerPrerendered" />
</app>
我也试过这种方式
@(await Html.RenderComponentAsync<App>(RenderMode.ServerPrerendered))
为什么没有触发事件?