Quando e perché usare Razor Pages
In questa unità si apprenderà quando e perché usare Razor Pages per l'app ASP.NET Core.
I vantaggi di Razor Pages
Razor Pages è un modello di programmazione sul lato server incentrato sulle pagine per la creazione di interfacce utente Web con ASP.NET Core. I vantaggi includono:
- Configurazione semplice per le app Web dinamiche con HTML, CSS e C#.
- File organizzati in base alla funzionalità per semplificare la manutenzione.
- Combina il markup con il codice C# lato server usando la sintassi Razor.
Razor Pages utilizza Razor per l'incorporamento di codice basato sul server nelle pagine Web. La sintassi Razor combina HTML e C# per definire la logica di rendering dinamica. Ciò significa che è possibile usare variabili e metodi C# all'interno del markup HTML per generare contenuti Web dinamici nel server in fase di esecuzione. È importante comprendere che Razor Pages non sostituisce HTML, CSS o JavaScript, ma combina queste tecnologie per creare contenuto Web dinamico.
Separazione delle problematiche
Razor Pages applica la separazione delle problematiche con una classe C# PageModel
, incapsulando le proprietà dei dati e le operazioni logiche relative solo alla pagina Razor e definendo i gestori di pagine per le richieste HTTP. La classe PageModel
è una classe parziale generata automaticamente dal modello di progetto ASP.NET Core. La classe PageModel
si trova nella cartella Pages
e prende il nome dalla pagina Razor. Ad esempio, la classe PageModel
per la pagina Razor Index.cshtml
viene denominata IndexModel.cs
.
Quando usare Razor Pages
Usare Razor Pages nell'app ASP.NET Core quando:
- Si vuole generare un'interfaccia utente Web dinamica.
- Preferire un approccio incentrato sulla pagina.
- Si vuole ridurre la duplicazione con visualizzazioni parziali.
Razor Pages semplifica l'organizzazione delle pagine ASP.NET Core mantenendo le pagine correlate e la relativa logica insieme nel proprio spazio dei nomi e nella propria directory.
Nota
ASP.NET Core supporta anche il modello MVC (Model-View-Controller) per la creazione di app Web. Usare MVC quando si preferisce una netta separazione tra modello, visualizzazione e controller. Nella stessa app possono coesistere sia Razor Pages che MVC. MVC non rientra nell'ambito di questo modulo.
Nell'unità successiva verrà illustrata un'app Razor Pages.