在 Blazor 中,我有一个同时具有 a和方法的<a>
元素:href
onclick
<a href="" onclick="@(() => ChangePage(_someObject))">Test</a>
onclick
调用此方法:
private bool ChangePage(object objectToDisplay)
{
_currentObject = objectToDisplay;
StateHasChanged();
return false;
}
通常在 JavaScript 中,从事件方法返回 false 会停止后续导航到链接中的链接,href
但这似乎不适用于我上面的代码。
单击链接后,如何停止 Blazor 将页面更改为根 URL?
(这里明显的答案是href
完全删除,但我使用引导药丸中的链接并删除href
药丸工作的停止)
我尝试过的其他没有用的方法:
- 将元素更改
<a>
为跨度并设置data-target
属性,但这会停止 Pills 正确呈现。 - 添加
return
到onclick
事件中(根据这个答案):onclick="return @(() => ChangePage(_overviewModel))"
但这不会编译。 return
在事件之后添加onclick
:onclick="@(() => ChangePage(_overviewModel)); return false;"
但这也不能编译。- 使用 Blazor
NavLink
组件<NavLink href="" onclick="@(() => ChangePage(_someObject))">NavLink</NavLink>
。这不起作用,请参阅此处了解更多信息。