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
Compilare automaticamente applicazioni .NET 6 con le pipeline di Azure DevOps e GitHub Action
Entity Framework Core 6
Creare classi CSS custom per Bootstrap 5
Welcome back to .NET
Serializzare e deserializzare un tipo DateOnly con System.Text.Json
Impostare il contenuto dell'head all'interno di ogni pagina Blazor
Scaling per app con Azure App Service
Supportare route multiple nella generazione di URL in Blazor
Versionare automaticamente un file di progetto .NET Core con una pipeline YAML di Azure DevOps
Dichiarare una struct come record in C#
Utilizzare WordPress con Azure App Service
Autenticazione con Minimal API di ASP.NET Core 6
I più letti di oggi
- Utilizzare la parola chiave var con lambda expression e method group in C# 10
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- devConf 2022 - Online
- Log streaming di una Azure Container App
- Agenda di #devconf22 del 26/05 quasi al completo! Ce n'è per tutti i gusti: #dotnet, #aspnetcore, #blazor, #terraform, #githubAltre informazioni e iscrizioni su => https://aspit.co/devconf-22