Saltar al contenido

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript... y lo que venga ;)

17 años online

el blog de José M. Aguilar

Inicio El autor Contactar

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web
ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript...

¡Microsoft MVP!
jueves, 28 de junio de 2012
Pues resulta que alrededor de Sevilla vivimos y trabajamos un montón de gente a los que nos apasionan las tecnologías Microsoft. Algunos nos conocemos virtualmente, leemos nuestros blogs, nos comunicamos por Facebook, Twitter, u otros artilugios similares, pero realmente no tenemos apenas ocasiones en las que conocernos, vernos en persona y charlar de cosas raras mientras disfrutamos de unas cervezas.

Por esta razón, desde el grupo de usuarios .NET de Sevilla, CartujaDotNet, se nos ha ocurrido que podríamos aprovechar el veranito que ya tenemos encima para organizar el primer Cartuja.Networking, un encuentro informal exclusivamente dedicado a desvirtualizar, conocer compañeros de fatigas, charlar distendidamente sobre tecnologías, lenguajes, sistemas operativos, herramientas, o lo que se nos ocurra.

QCrossSin guión, ponentes ni protagonistas: la única intención es que nos conozcamos y le pongamos cara a la extensa comunidad de usuarios de tecnologías Microsoft de Sevilla, donde hay tanta gente interesante (¡interesantísima!), y con ganas enormes de compartir experiencias y conocimientos con los demás.

El día elegido para tan magno acontecimiento es el próximo miércoles 4 de julio, a las 20:00 de la tarde, en el QCross (zona Nervión). No hace falta registro ni nada parecido, simplemente presentarse allí y disfrutar de la compañía ;-)

¡¡No faltéis!!

Y si queréis estar al tanto de lo que se cuece en CartujaDotNet, noticias, eventos, o contactar con otros participantes, podéis uniros al grupo CartujaDotNet en Facebook, LinkedIn, o seguirlo a través de Twitter.

Más artículos hablando sobre este tema:

martes, 26 de junio de 2012
Modelo extenso de EF (tomado de http://mattduffield.wordpress.com/2011/06/23/working-with-large-entity-framework-models-in-visual-studio/)Los que hayáis tratado con modelos extensos en Entity Framework seguro que habéis sufrido bastante con Visual Studio 2010, puesto que las entidades y relaciones las representábamos obligatoriamente en un único diagrama y esto dificultaba enormemente su legibilidad y mantenimiento.
lunes, 25 de junio de 2012
AUGES: ASP.NET User Group EspañaEl próximo miércoles 27 de junio de 2012, de 19:00 a 21:00 (horario peninsular español), tenemos un interesante evento en AUGES que, sin duda, nos sacará de dudas a los muchos desarrolladores ASP.NET que lo más que sabemos de SharePoint es que existe ;-)

El cartel oficial del evento es el siguiente:

SHAREPOINT PARA APLICACIONES EN ASP.NET DESDE CERO

image¿Eres programador ASP.NET y no sabes nada acerca de SharePoint? No te preocupes, en AUGES hemos preparado este evento para que aprendas desde cero sobre está plataforma de Microsoft que está pegando muy fuerte y que ya usan millones de clientes en todo el mundo. Veremos las bases de la plataforma, los servicios, buenas practicas, el IDE de desarrollo… No puedes perdértelo!!!
Ponente
Edin Kapic que es Key Consultant en Pasiona consulting, con más de 6 años de experiencia en Sharepoint, ponente en la European Sharepoint Conference de Berlín y miembro de Grupo de Usuarios de SharePoint de Cataluña – SUG.CAT.

Os recuerdo que se trata de un Webcast, o sea, que podéis asistir a este evento desde vuestro sillón favorito, acompañados de una buena cerveza y un saco de palomitas. Y por supuesto, es totalmente gratuito.

Lo único que debéis hacer para poder asistir es registraros:
Esperamos veros por allí ;-)

Publicado en Variable not found.
image7_thumb_thumb_thumb_thumb_thumb[2]Estos son los enlaces publicados en Variable not found en Facebook y Twitter del 18 al 23 de junio de 2012. Espero que os resulten interesantes :-)

.Net

miércoles, 20 de junio de 2012
Barra invertidaDesde los tiempos de MS-DOS llevamos utilizando la barra invertida para separar los nombres de directorio cuando indicamos una ruta hacia un archivo o carpeta, pero, ¿os habéis preguntado alguna vez por qué esto es así?

Como siempre ocurre, nada es fruto del azar.

martes, 19 de junio de 2012
ASP.NET MVCUn post rapidito. Según puede consultarse en MSDN, ya tenemos confirmado que la versión 4.5 de .NET framework vendrá acompañada de un nuevo conjunto de atributos de validación para aplicar a las propiedades del Modelo en el espacio de nombres System.ComponentModel.DataAnnotations:
  • CreditCardAttribute, que puede ser utilizado para validar números de tarjeta de crédito.
  • EmailAddressAttribute, que validará direcciones de correo electrónico.
  • FileExtensionsAttribute, para validar extensiones en nombres de archivo.
  • PhoneAttribute, que indica cuándo una propiedad debe contener un número de teléfono válido.
  • UrlAttribute, que comprobará si el contenido de una propiedad es una URL válida.
  • CompareAttribute, que antes estaba disponible en System.Web.Mvc y ha “ascendido” a anotación de datos general, permite validar la igualdad de dos propiedades.
Pues bien, según se observa en este changeset del código fuente del framework, ya podemos asegurar que la versión final de MVC 4 incorporará adaptadores de cliente y servidor para que podamos utilizarlos de forma directa en nuestros desarrollos :-)

También se ha incluido soporte para el atributo MembershipPasswordAttribute, recientemente incluido en System.Web.Security, que comprueba si una contraseña cumple los requisitos establecidos para las mismas en el membership provider.

Publicado en Variable not found.
lunes, 18 de junio de 2012
Enlaces interesantesEstos son los enlaces publicados en Variable not found en Facebook y Twitter del 11 al 16 de junio de 2012, y algunos más que no me dio tiempo a publicar. Espero que os resulten interesantes :-)

.Net

martes, 12 de junio de 2012
ASP.NET MVCSabemos que las editor y display templates son magníficas herramientas de productividad que nos facilitan la creación de potentes interfaces de usuario. Resumidamente, son las vistas creadas específicamente para generar el interfaz de edición o de visualización de un objeto concreto que son almacenadas en las carpetas EditorTemplates y DisplayTemplates, dentro de /Views/Shared.

Lo más habitual es utilizarlas para crear editores o visualizadores para tipos de datos concretos, en cuyo caso las vistas disponibles en las carpetas citadas anteriormente se llaman igual que el tipo de dato a editar o visualizar.

Por ejemplo, si tenemos una vista llamada int.cshtml en la carpeta /Views/Shared/EditorTemplates , será la utilizada como editor de propiedades de tipo entero. Algo parecido utilizamos por aquí, hace ya bastante tiempo, para integrar jQuery datepicker en nuestras aplicaciones.

También es habitual encontrar en estas carpetas plantillas vinculadas a propiedades u objetos de forma directa mediante el atributo [UIHint] (como en este post), mediante el cual se indica explícitamente qué plantilla debe utilizarse:
    [DisplayName("Long description")]
    [StringLength(140), Required]
    [UIHint("LimitedTextArea")]  // Use the template "LimitedTextArea.cshtml"
    public string Description { get; set; } 

Y otra alternativa, aunque quizás algo menos utilizada, es la posibilidad de indicar la plantilla a utilizar en la misma llamada al helper EditorFor() o DisplayFor() que provoca su renderizado:
    @Html.EditorFor(m=>m.Description, "LimitedTextArea")
Sin embargo, hay una posibilidad adicional, que curiosamente no es demasiado conocida, consistente en utilizar el atributo DataTypeAttribute para indicar la plantilla de edición o visualización a emplear para la propiedad a la que se aplica.

El funcionamiento es trivial: decoramos las propiedades con [DataType] suministrándole como parámetro el tipo de información que va a contener, y el sistema intentará localizar una plantilla con ese nombre.  Veamos un ejemplo:
    [DataType(DataType.EmailAddress)] 
    public string Email { get; set; }
 
    [DataType(DataType.Time)]
    public DateTime StartDate { get; set; }
 
    [DataType(DataType.Html)]
    public string LongDescription { get; set; }
En el momento de renderizar un editor (o un display) template para la primera propiedad, el sistema utilizará, si existe, el archivo EmailAddress.cshtml; en caso de no existir, intentará localizar un string.cshtml, y si tampoco lo encuentra generará un editor por defecto. En el segundo caso se realizará la misma operación con Time.cshtml, y el último de ellos usará la plantilla Html.cshtml como primera opción.

Podemos utilizar como nombre de plantilla todos los valores que encontramos en la enumeración DataType:
  • DateTime
  • Date
  • Time
  • Duration
  • PhoneNumber
  • Currency
  • Text
  • Html
  • MultilineText
  • EmailAddress
  • Password
  • Url
  • ImageUrl
Publicado en Variable not found.
lunes, 11 de junio de 2012
martes, 5 de junio de 2012
ASP.NET MVC¡Bueno, pues parece que esto se mueve! Hace unos días ha sido publicada la Release Candidate de ASP.NET MVC 4 coincidiendo con la liberación de Windows 8 Release Preview y Visual Studio 2012 Release Candidate (que, de hecho, incluye de serie MVC 4 RC).

Y como viene siendo costumbre, vamos a dar un repaso a todo lo que encontramos en esta nueva entrega, que presumiblemente será la última (bueno, o penúltima, nunca se sabe) antes de la versión definitiva. Eso sí, para no hacer el post demasiado largo nos centraremos exclusivamente en los cambios más destacables y visibles que se han introducido respecto a la versión beta.