Come sappiamo, nel template di default di Blazor, per creare delle pagine, basti aggiungere un file con estensione .razor all'interno della cartella Pages. Ma come possiamo creare delle aree contestuali, analoghe al concetto di Area di ASP.NET MVC?
In questo script vedremo la procedura per arrivare a ciò, e consentirci dunque di poter suddividere l'applicazione in vari settori, per esempio una parte pubblica e una privata di back-office, ognuna con un layout specifico e regole di autorizzazione differenti.
Partendo da un nuovo progetto Blazor, il primo passo sta nel creare una cartella all'interno di Pages, nella quale creare un file chimato _imports.razor.
Il contenuto di questo file sarà ereditato da tutte le pagine all'interno di questa sottocartella. Per esempio, possiamo specificare un layout differente:
@attribute [Authorize] @layout AnotherAppLayout
Nel nostro caso, tutte le pagine di questa "area" useranno il layout di AnotherAppLayout.razor. Inoltre, abbiamo anche sfruttato l'attributo Authorize per specificare che sarà necessaria l'autenticazione dell'utente per accedere a queste pagine.
A differenza delle Aree di ASP.NET MVC, tuttavia, queste pagine non ereditano il nome dell'area all'interno dell'URL, pertanto sarà nostra responsabilità indicarlo (se vogliamo) nel routing di ogni pagina:
@page "/backoffice/users" ...
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Introduzione ai web component HTML
Generare una User Delegation SAS in .NET per Azure Blob Storage
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Paginare i risultati con QuickGrid in Blazor
Usare le navigation property in QuickGrid di Blazor
Referenziare un @layer più alto in CSS
Utilizzare i variable font nel CSS
Configurare lo startup di applicazioni server e client con .NET Aspire
Creare una libreria CSS universale: Nav menu
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Cancellare una run di un workflow di GitHub
Il nuovo controllo Range di Blazor 9