禁用 Blazor 中的后退按钮

Disabling the Back Button in Blazor

在基于 Blazor 的 SPA 中,您必须能够阻止用户使用浏览器中的后退按钮向后导航。但是,我找不到有关如何执行此操作的任何信息。

在经典的 ASPX 中,这相对简单,但如何在 Blazor 上做到这一点 Application/Page?我在视图上看到了 [NoCache],但这似乎不适用于 Blazor pages/components。 javascript window.history.forward() 选项有点作用,但它会刷新页面,因此会丢失表单更改。

暂不支持取消导航。查看 github 个问题:

我提供这个问题的答案是因为它有很多观点:这表明很多人都在寻找这个问题的答案。

自从我第一次提出这个问题以来,我一直在研究各种解决方案。没有完美的解决方案,但我整理了一个Gist here。该解决方案对于 Whosebug 的答案来说太大了。