TOC

This article has been localized into Italian by the community.

Controllers:

Introduzione

All'inizio di questa guida abbiamo parlato brevemente del ruolo dei Controllers nel pattern MVC e ne abbiamo aggiunto uno al nostro progetto per vedere che cos'era e che cosa faceva e così iniziare rapidamente la nostra guida. In questo capitolo, andremo in maggiore profondità sull' argomento Controllers. A partire da questo articolo analizzeremo i concetti base di un Controller.

Che cosa è un Controller?

Come accennato all'inizio della guida, il Controller agisce come un intermediario, combinerà un Model con una View e fornirà il risultato all'utente finale. Comunque, il Controller non ha bisogno nè di un Model e neppure di una View - il Controller può agire per conto suo per tutte quelle operazioni elementari, per esempio inviare dei messaggi di testo o redirigere l'utente da qualche altra parte. Discuteremo di questo più avanti nell'articolo sulle Action Results.

In ASP.NET MVC, un Controller è come una qualsiasi classe, pertanto avrà una estensione .cs (o .vb se utilizzate Visual Basic) e sembrerà identico a qualsiasi altra classe .NET. Però, ci sono alcune cose che permetteranno a voi (e al .NET framework) di riconoscerlo come un Controller MVC:

  • Si trova di solito un una cartella chiamata "Controllers" alla radice del vostro progetto.
  • Eredita dalla classe Microsoft.AspNetCore.Mvc.Controller (o da una delle vostre classi che a sua volta eredita da Microsoft.AspNetCore.Mvc.Controller)
  • Il nome della classe di solito termina con la parola Controller, per esempio "HomeController" o "ProductsController"

Se non seguite queste convenzioni, il framework .NET non sarà in grado di riconoscere la vostra classe come un Controller, pertanto ha molto senso seguire queste convenzioni. In ogni caso, se proprio volete insistere a chiamare le vostra classi Controller in maniera differente, potete decorarle con l'attributo [Controller] piazzato subito prima della dichiarazione della classe.

Ereditando dalla classe Microsoft.AspNetCore.Mvc.Controller avrete anche delle funzionalità aggiuntive che utilizzerete per i vostri scopi. Per esempio la possibilità di ritornare Views/Partial Views. Permetterà anche alla vostra classe Controller di accedere alle informazioni collegate ad HTTP come la querystring grazie alla proprietà HttpContext presente sulla classe base Controller. In altre parole, vi permetterà di trasformare una normale classe .NET in una classe adatta all'uso sul web. E potrete così fare cose che normalmente sareste in grado di fare nei vostri file PHP o ASP classico o in una delle tante tecnologie web esistenti.

Dove vanno posizionati i Controllers?

Come già detto, i Controllers sono posizionati di solito in una cartella chiamata "Controllers" direttamente nella cartella radice del vostro progetto MVC. Sono di solito chiamati a seconda del loro scopo con la parola "Controller" come suffisso. Nella finestra Solution Explorer di Visual Studio, la struttura delle cartelle potrebbe essere qualcosa di simile a questo:

Riepilogo

Ora dovreste avere una migliore comprensione di cosa è un Controller e di come sono definiti. Nei prossimi articoli di questo capitolo, andremo più a fondo su vari argomenti collegati al Controller così da potervi dare una idea completa di tutte le cosa che potete fare con un Controller in ASP.NET MVC.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!