MVC Framework - Contrôleurs

Les contrôleurs Asp.net MVC sont responsables du contrôle du flux d'exécution de l'application. Lorsque vous faites une demande (signifie demander une page) à l'application MVC, un contrôleur est chargé de renvoyer la réponse à cette demande. Le contrôleur peut effectuer une ou plusieurs actions. L'action du contrôleur peut renvoyer différents types de résultats d'action à une demande particulière.

Le contrôleur est responsable du contrôle de la logique de l'application et agit en tant que coordinateur entre la vue et le modèle. Le contrôleur reçoit une entrée des utilisateurs via la vue, puis traite les données de l'utilisateur à l'aide du modèle et renvoie les résultats à la vue.

Créer un contrôleur

Pour créer un contrôleur -

Step 1 - Créez une application vide MVC, puis cliquez avec le bouton droit sur le dossier Controller dans votre application MVC.

Step 2- Sélectionnez l'option de menu Ajouter → Contrôleur. Après la sélection, la boîte de dialogue Ajouter un contrôleur s'affiche. Nommez le contrôleur commeDemoController.

Un fichier de classe Controller sera créé comme indiqué dans la capture d'écran suivante.

Créer un contrôleur avec IController

Dans MVC Framework, les classes de contrôleur doivent implémenter l'interface IController à partir de l'espace de noms System.Web.Mvc.

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

C'est une interface très simple. La seule méthode, Execute, est appelée lorsqu'une demande est ciblée sur la classe de contrôleur. MVC Framework sait quelle classe de contrôleur a été ciblée dans une demande en lisant la valeur de la propriété de contrôleur générée par les données de routage.

Step 1- Ajoutez un nouveau fichier de classe et nommez-le DemoCustomController. Modifiez maintenant cette classe pour hériter de l'interface IController.

Step 2 - Copiez le code suivant dans cette 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 - Exécutez l'application et vous recevrez la sortie suivante.