Blazor WASM 页面路由

Posted

技术标签:

【中文标题】Blazor WASM 页面路由【英文标题】:Blazor WASM Page Routing 【发布时间】:2021-07-17 06:14:53 【问题描述】:

有没有办法通过变量来定义剃须刀组件的页面路由?我希望以这种方式完成的原因之一是,每当我需要在另一个页面上定义重定向链接时,我可以只使用该变量而不是再次对其进行硬编码。

默认情况下,当我们想将剃刀组件定义为页面时,我们会这样做

@page "/product/id"

我希望它在某种意义上是集中的,它看起来像这样

public class PageRoute

    public const string ProductInfo = "/product/id";

然后我会在剃须刀组件上调用它

@page PageRoute.ProductInfo

【问题讨论】:

可以参考official doc,'page'指令需要双引号括起来的字符串。 【参考方案1】:

我希望它在某种意义上是集中的,它看起来像这样 ....

不,不是开箱即用的 Blazor。 @page = "/" 被预编译成一个属性:

[Microsoft.AspNetCore.Components.RouteAttribute("/")]
public partial class Index : Microsoft.AspNetCore.Components.ComponentBase 
....

这是在编译时修复的。如果你想要一个动态路由器,你需要编写自己的路由器。在 Internet 上搜索“Blazor 动态路由”和“Blazor 自定义路由”以了解更多信息。

【讨论】:

谢谢!这就是我一直在寻找的,该属性帮助我做我想做的事。干杯!

以上是关于Blazor WASM 页面路由的主要内容,如果未能解决你的问题,请参考以下文章