loading experience

ASP.NET Core

Razor Pages: quando sono la scelta giusta

Un modello semplice, una pagina e il suo codice: perché Razor Pages resta ottimo per siti e gestionali.

Razor Pages: quando sono la scelta giusta

In ASP.NET Core si possono scrivere interfacce web con MVC, Razor Pages o Blazor. Razor Pages è spesso sottovalutato, eppure è il modello più semplice da mantenere per molti progetti reali.

Il redirect dopo il salvataggio evita invii doppi del form.
Il redirect dopo il salvataggio evita invii doppi del form.

Una pagina, un modello

Ogni pagina ha un file .cshtml per il markup e una classe PageModel con i gestori delle richieste. Tutto ciò che riguarda una schermata sta in un posto solo.

public class ContattiModel(IEmailService email) : PageModel
{
    [BindProperty]
    public RichiestaContatto Input { get; set; } = new();

    public void OnGet() { }

    public async Task<IActionResult> OnPostAsync()
    {
        if (!ModelState.IsValid) return Page();
        await email.InviaAsync(Input);
        TempData["Messaggio"] = "Grazie, ti risponderemo presto.";
        return RedirectToPage();
    }
}

Perché funziona bene

  • Routing per file: la struttura delle cartelle è la struttura degli indirizzi.
  • Sicurezza di default: protezione antiforgery attiva sui form senza configurazione.
  • Pattern Post-Redirect-Get naturale, che evita invii doppi dei form.
  • HTML lato server: ottimo per SEO, accessibilità e dispositivi lenti.

Gestori multipli nella stessa pagina

public async Task<IActionResult> OnPostEliminaAsync(int id) { /* ... */ return RedirectToPage(); }
public async Task<IActionResult> OnPostPubblicaAsync(int id) { /* ... */ return RedirectToPage(); }
<form method="post" asp-page-handler="Elimina" asp-route-id="@item.Id">
    <button type="submit">Elimina</button>
</form>

Quando preferire altro

Se servono interfacce molto interattive, con aggiornamenti continui senza ricaricare la pagina, Blazor è più adatto. Se costruisci solo API per un'app mobile o un frontend separato, le Minimal API sono più snelle. Ma per siti istituzionali, aree riservate e gestionali, Razor Pages resta difficile da battere per semplicità.

Commenti (0)

Nessun commento ancora.

Lascia un commento