ASP.NET MVC6: Model binding

Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015 (CTP6), lo aquí escrito puede variar con versiones  finales de la plataforma

ASP.NET MVC5 y WebApi 2 usaban técnicas distintas para realizar el model binding, es decir para enlazar los parámetros de las acciones de los controladores a los valores enviados en la petición web. Ahora que ASP.NET 5 unifica ambos frameworks en el nuevo MVC6 vamos a ver como funciona el model binding en este nuevo framekwork. ¿Se parece más al de MVC 5 o al de WebApi? En este post saldremos de dudas.

Continúa leyendo ASP.NET MVC6: Model binding

ASP.NET 5 Microsoft.Framework.Logging

Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015, lo aquí escrito puede variar con versiones  finales de la plataforma

Como ya hemos podido ver en otras ocasiones, uno de los aspectos fundamentales de la nueva versión de ASP.NET 5 y DNVM y DNX ( si, es la primera vez que uso en este blog los nuevos nombres para nuestros queridos KVM y KLR ) es la modularidad Continúa leyendo ASP.NET 5 Microsoft.Framework.Logging

ASP.NET 5 MVC 6 ViewLocationExpander

Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015, lo aquí escrito puede variar con versiones  finales de la plataforma.

Seguro, que si ha trabajado con ASP.NET MVC una de las cosas que tiene claras es el concepto de Convention over Configuration, gracias al cual nos ahorramos mucho tiempo en configurar elementos que casi siempre tendrían que actuar de la misma, forma. Desde la selección del controlador, la acción, hasta el “binder” de los parámetros, hay muchos elementos “convencionales” en MVC, en esta ocasión hablaremos de como se buscan las vistas asociadas a una determinada acción, que como sabemos por convención corresponderían a las siguientes posibles rutas: Continúa leyendo ASP.NET 5 MVC 6 ViewLocationExpander

ASP.NET 5 Trabajando con el cliente II

Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015, lo aquí escrito puede variar con versiones  finales de la plataforma.

En la anterior entrada  hemos visto como trabajar con las herramientas de cliente y wwwroot para hacer tareas habituales para los desarrolladores web. En este hicimos una introducción a Grunt y a algunos de sus plugins como grunt-contrib-less  y grunt-contrib-uglify, pero nos quedo uno de los más habituales por mencionar. Bower, el cual podemos ver directamente si en vez de partir de un ejemplo vacío partimos de la plantilla Starter Web es un gestor de paquetes para la web. Seguramente al ver la primera parte de la definición piensa inmediatamente en Nuget, tal cual hacemos en el código .NET. En realidad el concepto es exáctamente el mismo, pero este es el índicado, en vez de Nuget, cuando nuestras dependencias sean web, js, css, etc.

Para hacer uso de Bower lo primero que haremos es instalarlo y para ello, como hemos hechos con otros módulos lo haremos retocando nuestro fichero package.json como se puede ver a continuación. Continúa leyendo ASP.NET 5 Trabajando con el cliente II

ASP.NET 5 Introducción a los TagHelpers

Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015, lo aquí escrito puede variar con versiones  finales de la plataforma.

Los TagHelpers son una de las novedades más interesantes de MVC6. En cierto modo vienen a sustituir a los helpers Razor tradicionales, pero con un enfoque que puede recordar a los WebControls de Webforms, pero como veremos hay muchas diferencias entre los WebControls y los TagHelpers. Lo que nos permiten es podernos crear nuestras propias etiquetas HTML pero que serán procesadas por Razor (generando pues HTML que es el que será enviado al cliente).

Continúa leyendo ASP.NET 5 Introducción a los TagHelpers

ASP.NET 5 Introducción a ViewComponents

Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015, lo aquí escrito puede variar con versiones  finales de la plataforma.

Los ViewConponents son una de las muchas novedades que nos trae MVC 6. Sustituyen a las PartialViews y podemos verlos como un widget o mini-controlador con su propia vista (Para los que venís de WebForms como un control de usuario ascx). Continúa leyendo ASP.NET 5 Introducción a ViewComponents

ASP.NET 5 Startup e inyección de dependencias

Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015, lo aquí escrito puede variar con la version final de la plataforma.

La verdad es que tenía pensado publicar un post acerca de como funciona el Startup de ASP.NET 5, pero el buen amigo de Jose Maria Aguilar me adelantó por la izquierda con este buen post que cubre el tema perfectamente. Por ello me he decidido a completarlo un poco hablando de como se gestiona el trabajo con las dependencias, sobre lo cual, en si mismo, tendremos que hacer un post próximamente. Continúa leyendo ASP.NET 5 Startup e inyección de dependencias

ASP.NET 5 Trabajando con el cliente I

Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015, lo aquí escrito puede variar con la version final de la plataforma.

Sin duda alguna,  son muchos los cambios que la nueva versión de MVC y realmente de nuestro IDE de desarrollo favorito traen para la siguiente versión. Gracias al cambio a un modelo Open Source podemos tener de forma mucho más temprana información acerca de todas las cosas en las que están trabajando, por supuesto, a veces también tenemos los problemas derivados de su dia a dia en unas versiones tan poco estables.  De entre todas las novedades que tanto la nueva version de MVC como la plataforma nos traen sin duda alguna la relativa a la gestión de los diferentes assets de cliente que podemos tener en nuestros proyectos ASP.NET 5 es una de las que más van a gustar a los desarrolladores .NET. A lo largo de este post trataremos de ver todas estas novedades instentando explicar todas y cada una de ellas de una forma lo más sencilla posible. Continúa leyendo ASP.NET 5 Trabajando con el cliente I