滚动单击无法使用 NavigationManager.NavigateTo,我无法使用 href,因为我需要强制加载功能



我有一个Blazor Server web应用程序。NET 5。

我遇到了与在我的网络应用程序中的页面之间导航有关的挫折

  • 当我使用NavigationManager.NavigateTo(uri, true)时,我无法使用滚动点击打开链接(如果我改为使用href="uri",这将在新的浏览器选项卡中打开链接(。它打开了一个新的选项卡,但加载了我已经打开的同一页
  • 当我改为使用href="uri"时,滚动点击会起作用。然而,它引入了一个新问题:通过"正常"的左键单击,新页面加载,但在移动浏览器中保留了上一页的滚动位置(我已经用移动Safari以及Chrome中的移动模拟器进行了测试(

我需要能够滚动点击到一个新的选项卡,以及在不保留前一页滚动位置的情况下加载新页面。有什么建议吗?

假设您正在使用onclick事件:onclick事件不会侦听滚轮单击。要解决此问题,只需使用onmousedown事件:

<button class="btn btn-dark" @onmousedown="OnClick">Test</button>
@code {
private void OnClick()
{
NavigationManager.NavigateTo("/counter", true);
}
}

最新更新