MVC Framework - Controller

I controller Asp.net MVC sono responsabili del controllo del flusso di esecuzione dell'applicazione. Quando si effettua una richiesta (significa richiedere una pagina) all'applicazione MVC, un controller è responsabile della restituzione della risposta a tale richiesta. Il controller può eseguire una o più azioni. L'azione del controller può restituire diversi tipi di risultati dell'azione a una particolare richiesta.

Il Titolare è responsabile del controllo della logica applicativa e funge da coordinatore tra la View e il Modello. Il controller riceve un input dagli utenti tramite la vista, quindi elabora i dati dell'utente con l'aiuto del modello e ritrasmette i risultati alla vista.

Crea un controller

Per creare un controller:

Step 1 - Crea un'applicazione MVC vuota, quindi fai clic con il pulsante destro del mouse sulla cartella Controller nell'applicazione MVC.

Step 2- Selezionare l'opzione di menu Aggiungi → Controller. Dopo la selezione, viene visualizzata la finestra di dialogo Aggiungi controller. Assegna al controller il nomeDemoController.

Verrà creato un file di classe Controller come mostrato nello screenshot seguente.

Crea un controller con IController

In MVC Framework, le classi controller devono implementare l'interfaccia IController dallo spazio dei nomi System.Web.Mvc.

public interface IController {
   void Execute(RequestContext requestContext);
}

Questa è un'interfaccia molto semplice. L'unico metodo, Execute, viene richiamato quando una richiesta è destinata alla classe controller. MVC Framework sa quale classe controller è stata scelta come destinazione in una richiesta leggendo il valore della proprietà del controller generata dai dati di instradamento.

Step 1- Aggiungi un nuovo file di classe e chiamalo DemoCustomController. Ora modifica questa classe per ereditare l'interfaccia IController.

Step 2 - Copia il seguente codice all'interno di questa classe.

public class DemoCustomController:IController { 
   
   public void Execute(System.Web.Routing.RequestContext requestContext) { 
      var controller = (string)requestContext.RouteData.Values["controller"]; 
      var action = (string)requestContext.RouteData.Values["action"]; 
      requestContext.HttpContext.Response.Write( 
      string.Format("Controller: {0}, Action: {1}", controller, action)); 
   } 
}

Step 3 - Esegui l'applicazione e riceverai il seguente output.