TOC

This article has been localized into Spanish by the community.

Controladores:

Introducción

En el inicio de este tutorial, hablamos brevemente sobre Controllers en el patrón MVC e incluso agregamos uno a nuestro proyecto, para ver cómo se veía y que hacía, y para ejecutarlo rápidamente. En este capítulo, entraremos en mayor profundidad con el tema de controladores, empezando en este artículo, donde hablaremos sobre los conceptos clave de un controlador.

¿Qué es un controlador?

Como mencionamos en el inicio de este tutorial, como el controlador actúa como un hombre en el medio - este combinará tu Modelo con una Vista y mostrará el resultado al usuario final. Sin embargo, ni el modelo ni la vista es requerido - el controlador puede actuar por sí mismo para las operaciones básicas, por ejemplo entregar un simple mensaje o redireccionar al usuario a algún otro lugar. Discutiremos esto más tarde en el artículo Action Results.

En ASP.NET MVC, un controlador es justo como cualquier otra clase, así que tiene una extensión de archivo .cs (o .vb, si usas Visual Basic) y se ve justo como otra clase de .NET. Sin embargo, hay algunas cosas (y el framework .NET) que te permitirán reconocer que es un controlador MVC.

  • Usualmente es colocado en una carpeta llamada "Controllers" en la raíz del proyecto.
  • Este hereda de Microsoft.AspNetCore.Mvc.Controller (Microsoft.AspNetCore.Mvc.Controller)
  • El nombre de la clase usualmente termina con la palabra Controller, por ejemplo "HomeController" or "ProductsController"

Si no sigues estas convenciones, el .NET framework no será capaz de reconocer tu clase como un controlador, entonces tiene sentido seguirlas. Sin embargo, si insistes en por ejemplo nombrar tus clases de controlador en forma diferente, puedes decorarlas con el atributo [Controller], puesto justo antes de la declaración de la clase.

Al heredar de la clase Microsoft.AspNetCore.Mvc.Controller, obtienes algunas funcionalidades agregadas que puedes utilizar para los propósitos de MVC, por ejemplo la capacidad de regresar vistas Views/Partial. También le permite a tus clases de controlador accesar a información relacionada con HTTP como la querystring, gracias a la propiedad HttpContext en la clase Controller. En otras palabras, vuelve una clase regular .Net en una clase web, permitiéndote hacer cosas que tú normalmente podrías hacer en tus archivos clásicos de PHP o ASP o cualquiera de las muchas otras tecnologías web que existen.

¿Dónde son colocados los controladores?

Como mencionamos, los controladores usualmente son colocados en una carpeta llamada "Controllers", directamente en la raíz de tu proyecto MVC. Ellos son nombrados comúnmente basados en su propósito, con la palabra "Controller" como sufijo. En el explorador de soluciones la estructura de la carpeta puede verse algo parecido a esto:

Resumen

Espero que ahora tengas un mejor entendimiento de lo que es un Controller y cómo están definidos. En los siguientes artículos de este capítulo, profundizaremos en varios temas relacionadas con los Controller, esperando de esa forma que puedas tener una idea completa de todas las cosas que puedes hacer con un controlador en 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!