问题描述
我正在使用 ant design blazor(.net 5.0,antblazor 0.7.4)并尝试通过 RenderFragment 触发 @onclick 按钮渲染:App.razor
@inject NavigationManager NavigationManager
<Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="@true">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(BasicLayout)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(BasicLayout)">
<Result Status="404"
Title="404"
SubTitle="Sorry,the page you visited does not exist."
Extra="extra" />
</LayoutView>
</NotFound>
</Router>
<AntContainer />
@code
{
private void NavigatetoHome()
{
NavigationManager.Navigateto("/");
}
RenderFragment extra =@<Button Type="primary" @onclick="NavigatetoHome">Back Home</Button>;
}
但得到错误: screen error
如何解决这个问题?非常感谢!
解决方法
@inject NavigationManager NavigationManager
<Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="@true">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(BasicLayout)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(BasicLayout)">
<Result Status="404"
Title="404"
SubTitle="Sorry,the page you visited does not exist."
Extra="HomeButton(NavigateToHome)" />
</LayoutView>
</NotFound>
</Router>
<AntContainer />
@code
{
private void NavigateToHome()
{
NavigationManager.NavigateTo("/");
}
RenderFragment HomeButton(Action clickAction) => @<Button Type="primary" @onclick="@clickAction">Back Home</Button>;
}