QUE ES UN CONTROLADOR

r

Un controlador es una clase especial con extensión .cs(para C#)Por defecto los controladores se ubican en la carpeta Controllers.En la plantilla MVC, una clase de controlador hereda de la clase Controller.La clase Controller hereda de ControllerBase y es la implementación predeterminada de un controlador.Todas las clases de controlador deben llevar el sufijo "Controller"en su nombre.

ROL DEL CONTROLADOR

Un controlador es usado para agrupar acciones (métodos de Acción)

El mapeo de la solicitud Http se realiza mediante enrutamiento

El almacenamiento en caché, la seguridad, etc. también se pueden aplicar a los controladores.

El almacenamiento en caché, la seguridad, etc. también se pueden aplicar a los controladores.

Los controladores dentro del patrón MVC son responsables de responder a la entrada del usuario, a menudo haciendo cambios en el modelo en respuesta a la entrada del usuario

RESPONSABILIDAD CONTROLADOR

Localizar el método de acción adecuado para llamar y validar que se le puede llamar.

Obtener los valores para utilizar como argumentos del método de acción.

Controlar todos los errores que se puedan producir durante la ejecución del método de acción.

Proporcionar la clase WebFormViewEngine predeterminada para representar los tipos de página ASP.NET (vistas).

METODOS DE ACCION

Los métodos de acción tienen normalmente una asignación unívoca con las interacciones del usuario.

Los métodos de acción deben contener lógica para asignar una solicitud a una cuestión empresarial.

Un Método de Acción puede retornar varios tipos de resultados.

Generalmente suelen devolver una instancia de IActionResult (o Task<IActionResult> para métodos asincrónicos) que genera una respuesta.

Llamar a métodos de Acción en el controlador

Cuando un usuario introduce una dirección URL en el explorador, la aplicación MVC usa reglas de enrutamiento que están definidas en el archivo Startup.cs para analizar la dirección URL y determinar la ruta de acceso del controlador.

Cuando recibimos una llamada Http en el controlador, en realidad lo estamos obteniendo en un método de acción particular.

De forma predeterminada, los valores para los parámetros de los métodos de acción se recuperan de la colección de datos de la solicitud.
La colección de datos incluye los pares nombre/valor para los datos del formulario, los valores de las cadenas de consulta y los valores de las cookies.