Поддерживает ли 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;}
}
Другие вопросы по тегам