lunes, 23 de mayo de 2016

ASP.NET MVC. Crear un ModelBinder personalizado.

Una de las herramientas más útiles de las que disponemos en ASP.NET MVC es el data binding o enlace de datos, que se encarga de transformar de manera automática los datos recibidos del navegador a los tipos de datos usados en los argumentos de las acciones de nuestros controladores.

Sin embargo el proceso de binding que realiza por defecto MVC se nos puede quedar corto cuando utilizamos tipos de datos complejos.

En este artículo voy a mostrar cómo podemos indicarle a MVC cómo debe realizar el enlace de datos con un tipo de datos predeterminado a través de la implementación de un ModelBinder.

El código completo tanto en C# como en Visual Basic .NET está disponible en:

Códigos de muestra - Ejemplos MSDN. Crear un Model Binder personalizado

martes, 17 de mayo de 2016

Windows Forms. Pasar datos entre formularios

El código completo tanto en C# como en Visual Basic .NET está disponible en:

Códigos de muestra - Ejemplos MSDN. Comunicación entre formularios Windows Forms

Esta es una consulta muy habitual: ¿Cómo pasar datos entre dos formularios?

Evidentemente hay múltiples formas de hacerlo y elegir la mejor depende en gran medida del caso particular. En este artículo mostraré un ejemplo de cómo podemos solucionar uno de los escenarios más repetidos y que puede ajustarse a muchos de los escenarios que se plantean habitualmente: crear un formulario para editar los datos de una fila de un DataGridView.

lunes, 11 de enero de 2016

Juego de Ajedrez (III). Definiendo las piezas

Artículos anteriores:
Juego de Ajedrez (I). Introducción a la Programación Orientada a Objetos
Juego de Ajedrez (II). Creando la estructura del proyecto

El código completo tanto en C# como en Visual Basic .NET está disponible en:

Códigos de muestra - Ejemplos MSDN. Juego de Ajedrez

Una vez creada la estructura de clases del proyecto voy a definir la funcionalidad de cada una de las piezas del juego. Para ello crearé una clase para cada tipo de pieza que herede de la clase abstracta ChessPiece.

sábado, 2 de enero de 2016

Microsoft MVP 2016

Ayer recibí un correo de Microsoft que me hizo una gran ilusión:

Estimado/a Asier Villanueva,

Enhorabuena. Nos complace anunciarle el Premio MVP de Microsoft® de 2016. Este nombramiento se concede a los líderes excepcionales de la comunidad técnica que comparten de forma activa con otras personas su profundo conocimiento técnico así como su experiencia en el uso de la tecnología. Le agradecemos especialmente la contribución que ha realizado en las comunidades técnicas en el área de Visual Studio and Development Technologies a lo largo del pasado año.


Es un gran orgullo pasar a pertenecer a un colectivo como es el de los MVP de Microsoft.

Este reconocimiento me anima mucho en la medida en la que es la constatación de que el trabajo que vengo realizando resulta realmente útil a otros miembros de la comunidad de desarrolladores.

En adelante espero poder seguir aportando como hasta ahora o incluso más (si el tiempo libre me lo permite) y estar a la altura de lo que este galardón significa.

Para aquellos que no conozcáis los premios MVP de Microsoft y queráis obtener más información sobre ellos aquí os dejo el link:

Microsoft MVP Award


Feliz año 2016. Espero que vuestra entrada del nuevo año haya sido tan gratificante como la mía, y que a partir de ahora no haga más que mejorar.

miércoles, 16 de diciembre de 2015

Juego de Ajedrez (II). Creando la estructura del proyecto

Artículos anteriores:
Juego de Ajedrez (I). Introducción a la Programación Orientada a Objetos

El código completo tanto en C# como en Visual Basic .NET está disponible en:

Códigos de muestra - Ejemplos MSDN. Juego de Ajedrez

Tras hacer un resumen de lo que iremos viendo a lo largo de los diferentes artículos, vamos a meternos en harina creando el proyecto y la estructura básica de clases que encapsularán la funcionalidad de nuestro juego de ajedrez.

sábado, 12 de diciembre de 2015

Juego de Ajedrez (I). Introducción a la Programación Orientada a Objetos

Hace tiempo me llegó una consulta de un desarrollador que para iniciarse en la programación orientada a objetos había decidido intentar desarrollar un juego de ajedrez.
Me pareció un ejercicio muy interesante así que, siguiendo la idea, decidí "apropiármela" y preparar un juego de ajedrez que pueda servir de ejemplo de programación orientada a objetos en .NET.

Puede que la implementación no sea la óptima, de hecho he ido tomando las decisiones del desarrollo pensando sobre todo en que el código resulte sencillo y fácil de seguir de forma que el lector pueda centrar su atención en la definición de las clases, propiedades, métodos, herencias, etc.

En ocasiones utilizo incluso diferentes soluciones para el mismo problema de forma que existan en el código ejemplos de distintas opciones existentes.

A lo largo de los artículos iré mostrando paso a paso la construcción del código del juego. El lector puede optar por ir construyéndolo según avance en la lectura, o descargarse el código completo al inicio e ir siguiendo las explicaciones sobre él.

sábado, 5 de diciembre de 2015

ASP.NET MVC. htmlAttributes en los métodos Editor y EditorFor

En muchos de los métodos de extensión de la clase HtmlHelper de ASP.NET MVC podemos encontrar un parámetro htmlAttributes que nos permite indicar valores a atributos HTML adicionales a incluir en el código HTML generado por el método.

Estos parámetros suelen aceptar un objeto IDictionary<string,object> en los que la clave de cada elemento representa el nombre del atributo y el valor del elemento representa el valor del atributo, o un objeto en el que el nombre de sus propiedades se corresponden con los nombres de los atributos y el valor de éstas con el valor de los atributos.

Sin embargo hay dos métodos de gran uso, y en los que resultaría extremadamente útil, en los que no se incluye en ninguna de sus sobrecargas: los métodos Editor y EditorFor.