Поддерживает ли Blazor или какой-либо пакет NuGet маршрутизацию для вложенных маршрутов?
Представьте, что у меня есть приложение для онлайн-продаж и обработки заказов. У меня есть клиенты, счет-фактура, элемент счета-фактуры. У покупателя есть вопрос об изделии в последнем заказе, и он хочет отправить ссылку своему торговому представителю.
Как Blazor справляется с ситуацией, когда URL ДОЛЖЕН быть примерно таким...
https://myapp.com/customer/12345/Invoice/234/InvoiceItem/4
Возможно ли это с помощью механизма маршрутизации Blazor?
Я прочитал несколько сообщений в блогах, и маршрутизация, как кажется, стоит остановиться на:/page/{parameter}
тогда как мне бы очень хотелось/page/{parameter}/control/{parameter}/control/{parameter}/etc...
0 ответов
Это абсолютно возможно с тем, что встроено в 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;}
}