Posts
El fallo de ASP.NET MVC y el helper Html.DropDownFor
· ☕ 9 min · ✍️ eiximenis
Buenas! Este post es para describir un fallo que he encontrado en el helper Html.DropDownFor y el workaround asociado. Quizá alguien entiende que no es un fallo y quizá es capaz de decirme que razón se esconde bajo este comportamiento… Desde mi punto de vista ninguno, pero bueno… ni tengo (ni pretendo tener) la verdad absoluta. El problema… Veamos… Para el helper Html.DropDownFor se usa para crear combos y tiene varias formas de uso (yo mismo escribí un post hace algún tiempo al respecto sobre las combos en ASP.

JavaScript – ¿Qué es exactamente this?
· ☕ 10 min · ✍️ eiximenis
Si vienes de un lenguaje orientado a objetos “clásico” como C# o Java, tendrás claro el concepto de this: Se refiere al propio objeto. Dado que todos los objetos son instancias de una clase en concreto y el código se define a nivel de clase el valor de this está claramente definido. Sólo leyendo el código puedes saber a que se refiere this en cada momento. JavaScript también tiene la palabra this pero su significado es un poco más “complejo” que el de C#.

¿Es Javascript orientado a objetos?
· ☕ 16 min · ✍️ eiximenis
Ayer tuve el placer de participar en un hangout de #JsIO junto a dos bestias pardas como Erick Ruiz y Tomás Corral discutiendo si JavaScript es o no es un lenguaje orientado a objetos. Así que aprovecho para escribir este post y hacer algunas reflexiones más al respecto sin las prisas ni la improvisación del “directo”. ¿Qué es la orientación a objetos? Es complicado definir que significa exactamente “orientación a objetos”.

Divertimento: Cadenas de longitud máxima fija en C#
· ☕ 10 min · ✍️ eiximenis
Aviso: Este post es un divertimento que ha surgido a raíz del siguiente tweet de Juan Quijano. En este tweet básicamente Juan preguntaba si había alguna manera de limitar la longitud de una cadena. Por supuesto todas las respuestas que le dan son correctísimas, a saber: Validarlo en el setter Usar DataAnnotations y validación con atributos Usar [StringLength] en el caso de ASP.NET MVC Y otras que se podrían dar aquí.

ASP.NET MVC – Custom model binders por propiedad
· ☕ 12 min · ✍️ eiximenis
Muy buenas! En este post vamos a ver como habilitar un custom model binder para una propiedad en concreto de un viewmodel. De serie es posible configurar un Custom Model Binder de dos maneras: Añadiéndolo a la colección Binders de la clase ModelBinders. Con esto conseguimos que todos los valores de un tipo concreto se enlacen usando nuestro ModelBinder. Usando el atributo [ModelBinder]. Con este atributo podemos especificar un Model Binder a usar para un viewmodel en concreto o para un parámetro en concreto de un controlador.

Modelos de vista dinámicos en asp.net mvc
· ☕ 29 min · ✍️ eiximenis
Muy buenas! Imagina que tienes la siguiente entidad de un modelo de datos de Entity Framework: 1: public class Product <p> <!--CRLF--> </p> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2"> 2:</span> {</pre> <p> <!--CRLF--> </p> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3"> 3:</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">int</span> Id {get; set;}</pre> <p> <!

¡Hello World Katana!
· ☕ 4 min · ✍️ eiximenis
Buenas! En este post vamos a ver como empezar a trabajar con Katana. En un post anterior hablé un poco de Katana y mis fantasías (más o menos húmedas) de lo que podría ser un un futuro. Antes que nada hagamos un repaso rápido: OWIN: Open Web Interface for .NET. Especificación que define un estándard para comunicar servidores web y aplicaciones web (en tecnología .NET). Katana: Implementación de Microsoft de la especificación OWIN.

ASP.NET MVC – ¿Por qué usar los helpers para formularios?
· ☕ 9 min · ✍️ eiximenis
Hace nada mi compi Javier Torrecilla (Little Tower para los amigos) ha escrito un post sobre los helpers de ASP.NET MVC. En este post quiero centrarme en por qué debes usar los helpers para formularios de ASP.NET MVC. La respuesta “por qué están ahí” no vale. Hay muchas cosas que están por ahí y no deberían usarse salvo casos muy concretos (incluso cosas del .NET Framework). Iremos como los New Kids on the Block, es decir paso a paso.

ASP.NET MVC: Autocompletado con enums
· ☕ 6 min · ✍️ eiximenis
La verdad es que el tema de los enums y ASP.NET MVC da para hablar bastante (yo mismo hice un post hace ni mucho). Pero hace algunos días mi buen amigo y a veces rival, Marc Rubiño publicó en su blog un interesante artículo sobre como crear combos que mostrasen valores de enums. En este post voy a mostrar una técnica parecida, pero a través de las data list, un concepto nuevo de HTML5 que como pasa muchas veces está recibiendo menos atención de la que merece.

Usando las herramientas para Git de VS2012
· ☕ 10 min · ✍️ eiximenis
Muy buenas! En este post voy a contar (o al menos intentarlo) como usar las herramientas de Git para VS2012 y trabajar con un repositorio Git instalado en TFS Services. Nota: Este post está muy orientado a gente que viene de TFS, está acostumbrada a TFS y se siente un poco “perdida” con esto de Git. No pretende ser, ni mucho menos, un tutorial de Git. Requerimientos previos