Áreas en ASP.NET MVC
Las áreas son algunos de los componentes más importantes de ASP.NET MVC proyectos. El uso principal de Areas es particionar físicamente el proyecto web en unidades separadas.
Las áreas son algunos de los componentes más importantes de ASP.NET MVC proyectos. El uso principal de Areas es particionar físicamente el proyecto web en unidades separadas.
¿Qué es un área en ASP.NET MVC?
Si examina un proyecto ASP.NET MVC, los componentes lógicos como Model, Controller y View se guardan físicamente en carpetas diferentes y ASP.NET MVC utiliza convenciones de nomenclatura para crear la relación entre estos componentes. Los problemas comienzan cuando se tiene que implementar una aplicación relativamente grande. Por ejemplo, si está implementando una aplicación de comercio electrónico con varias unidades de negocio, como Checkout, Facturación y Búsqueda, etc. Cada una de estas unidades tiene sus propios componentes lógicos, vistas, controladores y modelos. En este escenario, puede utilizar ASP.NET MVC Áreas para particionar físicamente los componentes de negocio en el mismo proyecto.
En resumen, un área se puede definir como: Unidades funcionales más pequeñas en un proyecto ASP.NET MVC con su propio conjunto de controladores, vistas y modelos.

Una sola aplicación MVC puede tener cualquier número de áreas. Algunas de las características de las Áreas son:
- Una aplicación MVC puede tener cualquier número de áreas.
- Cada área tiene sus propios controladores, modelos y vistas.
- Físicamente, las áreas se colocan en carpetas separadas.
- Las áreas son útiles en la gestión de grandes aplicaciones web.
- Un proyecto de aplicación web también puede usar áreas de diferentes proyectos.
- Con Areas, varios desarrolladores pueden trabajar en el mismo proyecto de aplicación web.
Creación de áreas
Crear Áreas en un proyecto MVC es muy sencillo. Simplemente haga clic con el botón derecho en el área > adición > proyecto como se muestra en la imagen a continuación:

Aquí se le pedirá que proporcione el nombre del área. En este ejemplo, nombremos el área "Blogs" y hagamos clic en Agregar.

Detengámonos un momento aquí y exploremos el proyecto. Encontraremos una carpeta que se ha agregado a Areas, y dentro de la carpeta Areas, encontraremos una subcarpeta con el nombre Blogs, que es el área que acabamos de crear. Dentro de la subcarpeta Blogs, encontraremos carpetas para los componentes MVC Controladores, Vistas y Modelos.

En la carpeta Blogs del Área encontraremos una clase BlogAreaRegistration.cs. En esta clase se han registrado las rutas para el Área de Blogs.

Ahora podemos agregar Controladores, Modelos y las Vistas en el Área de la misma manera que los agregamos normalmente en un proyecto MVC. Por ejemplo, para agregar un controlador, hagamos clic con el botón derecho en la carpeta del controlador en la carpeta Blogs y haga clic en Agregar > controlador. Entonces, digamos que hemos agregado un HomeController en el controlador de blogs. Encontrará el controlador agregado en el proyecto como se muestra en la imagen a continuación:

Encontrará que HomeController tiene un método llamado Index. Para crear una vista, haga clic con el botón derecho en la acción Índice y seleccione Agregar vista como se muestra en la imagen a continuación:

En la siguiente pantalla, debemos seleccionar la plantilla de vista, la clase de modelo y otros. Para simplificar las cosas, dejemos todo por defecto y hagamos clic en el botón Agregar para crear una vista para la acción Índice en el controlador de inicio del área de blogs.

Veremos que se creó una vista dentro de la subcarpeta Views de la carpeta Blogs como se muestra en la imagen a continuación:

Para verificarlo, sigamos adelante y cambiemos el título de la vista como se muestra en la imagen a continuación:

Hasta ahora hemos creado:
- Un área con el nombre de Blogs
- Un controlador dentro de eso, llamado Home
- Una vista para la acción Índice para el controlador Home
- Cambiar el título de la vista
Como último paso para trabajar con Áreas, necesitamos verificar si las Áreas están registradas en el App_Start del proyecto o no. Para hacer esto, abra global.asax y agregue la línea de código resaltada a continuación (si aún no está allí):

Ahora que hemos creado las Áreas, sigamos adelante y ejecutemos la aplicación y notemos la URL.

Como se resaltó, para invocar el controlador del área, necesitamos usar:
baseurl/areaname/controllername/{actionname}
En este caso, el controlador de inicio del área Blog es invocado por:
Baseurl/Blogs/Home/Index
Resumen
Como has visto aquí, las áreas son algunos de los componentes más importantes de ASP.NET MVC, lo que nos permite dividir grandes proyectos en unidades más pequeñas y manejables, como se demuestra en el ejemplo de este blog. Espero que os sea útil el post, ¡y gracias por leer!
¿Ya has probado Infragistics conjunto de herramientas jQuery/HTML5, una solución de desarrollo web nativa líder en la industria que te permite crear un diseño web altamente receptivo en cualquier dispositivo? Descargue una versión de prueba gratuita hoy mismo.
