Come abbiamo visto nel nostro recente articolo (https://www.aspitalia.com/articoli/asp.net-core3/web-ui-interattive-blazor-server.aspx), in Blazor possiamo specificare la route a cui un component risponde con una sintassi simile a quella di ASP.NET MVC:
@page "/products/{id:int}" <h1>Product @Id</h1> Description of this product. @code { [Parameter] public int Id { get; set; } }
Alle volte, però, può essere necessario rendere questo parametro opzionale, per esempio perché vogliamo riutilizzare lo stesso componente di Edit di un Product anche per le operazioni di Insert.
Per farlo, è sufficiente aggiungere un'altra route tramite la direttiva @page, priva del parametro Id:
@page "/products" @page "/products/{id:int}" <h1>Product @Id</h1> Description of this product. @code { [Parameter] public int? Id { get; set; } }
Come possiamo notare dal codice in alto, abbiamo anche dovuto cambiare il tipo della proprietà Id da int a Nullable
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Reactive form tipizzati con FormBuilder in Angular
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Usare un KeyedService di default in ASP.NET Core 8
.NET Conference Italia 2023
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Gestire undefined e partial nelle reactive forms di Angular
Generare file PDF da Blazor WebAssembly con iText
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Effettuare il binding di date in Blazor
Miglioramenti nell'accessibilità con Angular CDK