在 Blazor 中,我有一个包含 href
和 onclick
方法的 <a>
元素:
<a href="" onclick="@(() => ChangePage(_someObject))">Test</a>
onclick
调用此方法:
private bool ChangePage(object objectToDisplay)
{
_currentObject = objectToDisplay;
StateHasChanged();
return false;
}
通常在JavaScript中,从事件方法返回false 会停止后续导航到链接 在
href
,但这似乎在我上面的代码中不起作用。我如何停止Blazor在单击链接后将页面更改为根URL?
(显然的答案是完全删除
href
,但我正在使用bootstrap Pill中的链接,删除href
会停止Pill工作)
我尝试过但没用的其他事情:
- 将
<a>
元素更改为并设置data-target
属性,但这会导致Pills无法正确呈现。 - 按照此答案将
return
添加到onclick
事件中:onclick="return @(() => ChangePage(_overviewModel))"
,但这不会编译。 - 在
onclick
事件后添加return
:onclick="@(() => ChangePage(_overviewModel)); return false;"
,但这也不会编译。 - 使用Blazor
NavLink
组件<NavLink href="" onclick="@(() => ChangePage(_someObject))">NavLink</NavLink>
。那行不通,在这里查看更多信息。