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
Ottimizzare il codice JavaScript utilizzando WeakMap e WeakSet
Aggiungere le issue di più repository in una board in GitHub
Q# for Quantum Programming, an "only for the brave" session
GitHub <3 .NET
Scoprire le ottimizzazioni di Entity Framework Core in fase di scrittura di un solo record
Utilizzare il browser per rilevare Javascript e CSS non utilizzati nel codice
Track 1: @morwalpiz con le novità di #aspnetcore7 e #blazorTrack 2: @ATosato86 con le novità su json in #dotnet7 Siamo in live streaming da: https://aspit.co/netconf-22 #aspilive #netconfit
Sottoscrizione agli eventi sul contenitore in JavaScript
Autenticazione basata su certificati con ASP.NET Core
Bloccare una pull request che arriva da branch non definiti in GitHub
Track 1: @andysal74 con real world #dotnet architectureTrack 2: @apomic80 con modernizzazione di applicazioni #wpf e #winforms con #blazor Siamo in live streaming da: https://aspit.co/netconf-22 #aspilive #netconfit
Utilizzare la parola chiave var con lambda eExpression e method group in C# 10
I più letti di oggi
- Ricevere avvisi su metriche dei server Azure Arc
- Workflow di continuous deployment tramite pull request label in GitHub
- Effettuare update massivi con Entity Framework Core 7
- Sottoscrizione agli eventi sul contenitore in JavaScript
- Effettuare l'upload di un file via FTP con la libreria FluentFTP di .NET
- Catturare la telemetria degli eventi di output cache in ASP.NET Core
- .NET Conference Italia 2022 - Milano e Online
- Monitorare i server on-premises con Azure Arc