Modello MVC ASP.NET

Modello di progettazione per ottenere una separazione netta tra i problemi

Attività iniziali

Supportato in Windows, Linux e macOS

Model View Controller (MVC)

MVC è un modello di progettazione usato per separare l'interfaccia utente (vista), i dati (modello) e la logica dell'applicazione (controller). Questo modello consente di ottenere la separazione delle problematiche.

Tramite il modello MVC per i siti Web, le richieste vengono instradate a un controller responsabile dell'utilizzo del modello per eseguire azioni e/o recuperare dati. Il controller sceglie la visualizzazione da usare e la fornisce con il modello. La visualizzazione esegue il rendering della pagina finale, in base ai dati nel modello.

Scopri di più sul modello MVC

MVC con ASP.NET

ASP.NET offre un metodo potente e basato su modelli per creare siti Web dinamici tramite il modello MVC, che consente una separazione netta dei problemi.

Approfondimenti: MVC con ASP.NET

public class Person
{
    public int PersonId { get; set; }

    [Required]
    [MinLength(2)]
    public string Name { get; set; }

    [Phone]
    public string PhoneNumber { get; set; }

    [EmailAddress]
    public string Email { get; set; }
}

Modelli e dati

Crea classi di modelli puliti e associale facilmente al database. Definisci in modo dichiarativo le regole di convalida, usando gli attributi C#, che vengono applicati al client e al server.

ASP.NET supporta molti motori di database, tra cui SQLite, SQL Server, MySQL, PostgreSQL, DB2 e altri ancora, nonché archivi non relazionali come MongoDB, Redis e Azure Cosmos DB.

public class PeopleController : Controller
{
    private readonly AddressBookContext _context;

    public PeopleController(AddressBookContext context)
    {
        _context = context;
    }

    // GET: /people
    public async Task Index()
    {
        return View(await _context.People.ToListAsync());
    }

    // GET: /people/details/5
    public async Task Details(int id)
    {
        var person = await _context.People.Find(id);

        if (person == null)
        {
            return NotFound();
        }

        return View(person);
    }
}

Controller

È sufficiente instradare le richieste alle azioni del controller, implementate come normali metodi C#. I dati del percorso della richiesta, della stringa di query e del corpo della richiesta vengono associati automaticamente ai parametri del metodo.

Approfondimenti: Controller con ASP.NET

Visualizzazioni con Razor

La sintassi Razor offre un modo semplice, pulito e leggero per eseguire il rendering del contenuto HTML in base alla visualizzazione. Razor consente di eseguire il rendering di una pagina con C#, creando pagine Web completamente conformi a HTML5.

Approfondimenti: visualizzazioni con ASP.NET

Pronti per iniziare?

Questa esercitazione dettagliata ti aiuterà a ottenere MVC con ASP.NET in esecuzione nel computer.

Attività iniziali