想象一下,我有一个在线销售和订单处理应用程序。我有客户,发票,InvoiceItem。客户对最后订单中的商品有疑问,并希望发送指向其销售代表的链接。
Blazor如何处理这种URL应该类似于...的情况
https://myapp.com/customer/12345/Invoice/234/InvoiceItem/4
Blazor路由引擎有可能吗?
我已经阅读了多个博客文章和路由SEEMS,以在以下位置停止:
/page/{parameter}
而我真的很想
/page/{parameter}/control/{parameter}/control/{parameter}/etc...
答案 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;}
}