Blazor或某些NuGet软件包是否支持或扩展嵌套路由的路由?

时间:2020-07-03 00:45:27

标签: blazor blazor-client-side blazor-webassembly

想象一下,我有一个在线销售和订单处理应用程序。我有客户,发票,InvoiceItem。客户对最后订单中的商品有疑问,并希望发送指向其销售代表的链接。

Blazor如何处理这种URL应该类似于...的情况

https://myapp.com/customer/12345/Invoice/234/InvoiceItem/4

Blazor路由引擎有可能吗?

我已经阅读了多个博客文章和路由SEEMS,以在以下位置停止: /page/{parameter} 而我真的很想 /page/{parameter}/control/{parameter}/control/{parameter}/etc...

1 个答案:

答案 0 :(得分:1)

Blazor内置的功能绝对是可能的,至少.NET Core 3.1和.NET5。 使用不同的参数名称非常重要,因为它们映射到剃刀组件的[Parameter]属性。

以您的示例为例:

@page "/customer/{Customer}/invoice/{Invoice}/invoiceitem/{InvoiceItem}"

<span>Customer: @Customer</span>
<span>Invoice: @Invoice</span>
<span>Item: @InvoiceItem</span>

@code {
    [Parameter] public string Customer {get; set;}
    [Parameter] public string Invoice {get; set;}
    [Parameter] public string InvoiceItem {get; set;}
}