Marco MVC - Controladores

Los controladores Asp.net MVC son responsables de controlar el flujo de ejecución de la aplicación. Cuando realiza una solicitud (significa solicitar una página) a la aplicación MVC, un controlador es responsable de devolver la respuesta a esa solicitud. El controlador puede realizar una o más acciones. La acción del controlador puede devolver diferentes tipos de resultados de acción a una solicitud en particular.

El controlador es responsable de controlar la lógica de la aplicación y actúa como coordinador entre la vista y el modelo. El controlador recibe una entrada de los usuarios a través de la vista, luego procesa los datos del usuario con la ayuda del modelo y devuelve los resultados a la vista.

Crear un controlador

Para crear un controlador:

Step 1 - Cree una aplicación vacía MVC y luego haga clic con el botón derecho en la carpeta del controlador en su aplicación MVC.

Step 2- Seleccione la opción de menú Agregar → Controlador. Después de la selección, se muestra el cuadro de diálogo Agregar controlador. Nombra al controlador comoDemoController.

Se creará un archivo de clase de controlador como se muestra en la siguiente captura de pantalla.

Crea un controlador con IController

En MVC Framework, las clases de controlador deben implementar la interfaz IController desde el espacio de nombres System.Web.Mvc.

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

Esta es una interfaz muy simple. El único método, Execute, se invoca cuando una solicitud está dirigida a la clase de controlador. MVC Framework sabe qué clase de controlador ha sido el objetivo en una solicitud leyendo el valor de la propiedad del controlador generada por los datos de enrutamiento.

Step 1- Agregue un nuevo archivo de clase y asígnele el nombre DemoCustomController. Ahora modifique esta clase para heredar la interfaz IController.

Step 2 - Copie el siguiente código dentro de esta clase.

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 - Ejecute la aplicación y recibirá el siguiente resultado.