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

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

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

@page "/product/{id}"

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

public class PageRoute
{
    public const string ProductInfo = "/product/{id}";
}

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

@page PageRoute.ProductInfo

【问题讨论】:

  • 可以参考official doc,'page'指令需要双引号括起来的字符串。

标签: asp.net-mvc asp.net-core blazor-webassembly


【解决方案1】:

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

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

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

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

【讨论】:

  • 谢谢!这就是我一直在寻找的,该属性帮助我做我想做的事。干杯!
猜你喜欢
  • 1970-01-01
  • 2019-06-05
  • 2022-11-10
  • 2021-02-25
  • 1970-01-01
  • 2023-01-10
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
相关资源
最近更新 更多