如何在 RenderFragment Antd Blazor 中触发 @onclick
Posted
技术标签:
【中文标题】如何在 RenderFragment Antd Blazor 中触发 @onclick【英文标题】:How to trigger @onclick within RenderFragment Antd Blazor 【发布时间】:2021-07-11 04:26:51 【问题描述】:我正在使用 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
如何解决这个问题?非常感谢!
【问题讨论】:
添加相关标签(语言、框架、库),让您的问题更容易被社区看到 感谢@MichaelRovinsky。我编辑了 【参考方案1】:@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>;
【讨论】:
以上是关于如何在 RenderFragment Antd Blazor 中触发 @onclick的主要内容,如果未能解决你的问题,请参考以下文章
将 Blazor RenderFragment 参数转发给子组件会引发异常
Blazor 服务端组件 Render, RenderFragment ,RenderTreeBuilder, CascadingValue/CascadingParameter