ene 21 2012

Cómo simular otros navegadores para probar desarrollos Web

JM AlarcónCategorías: ASP.NET
En ocasiones es muy útil poder engañar al servidor web y hacerle creer que te estás conectando con cualquier navegador, aunque en realidad estés usando Internet Explorer o Chrome bajo Windows, por ejemplo. Como sabes, los controles de ASP.NET Web Forms tienen lo que se llama renderizado adaptativo, que consiste en que generan un HTML diferente según el dispositivo que solicite la página, pudiendo así adaptarse a las características de cada navegador de la mejor forma posible. Así puedes ver qu... [Más]

Tags: , ,

ene 18 2012

Cómo obtener rutas absolutas en ASP.NET

JM AlarcónCategorías: ASP.NET
Hoy un truco rápido. En ASP.NET a veces necesitamos convertir rutas relativas (por ejemplo guardadas en una base de datos) a rutas absolutas para poder referenciar archivos para descarga, imágenes, etc... Estas rutas pueden venir dadas de diversas formas. Por ejemplo, todas estas son rutas válidas: "/Docs/doc.pdf": se refiere a la raíz absoluta del servidor, es decir desde el nombre de dominio en adelante. "../Img/image.jpg": ruta relativa a la página actual, un dire... [Más]

Tags:

ene 13 2012

Establecer correctamente DefaultButton y DefaultFocus en una página con Master Page

JM AlarcónCategorías: ASP.NET
En ASP.NET Web Forms algunos controles disponen de un par de propiedades interesantes para mejorar la usabilidad de la interfaz de usuario. Se trata de DefaultButton y DefaultFocus que permiten decidir respectivamente qué botón del formulario va a ser el que se ejecute al pulsar ENTER y qué control tendrá el foco en el formulario cuando éste cargue. Esto, que parece una tontería, es muy útil ya que es frecuente encontrarse por ahí páginas bastante mal hechas en las que, por ejemplo, vas a busca... [Más]

Tags:

ene 7 2012

Plantillas de lado cliente con JavaScript: ¿Qué tecnología utilizar?

JM AlarcónCategorías: AJAX | ASP.NET | JavaScript
En septiembre de 2009 Krasis Press lanzó al mercado mi libro “Tecnologías ASP.NET 4.0 (Saltando desde la versión 2.0)”. Fue un libro que se adelantaba en varios meses a la futura versión de la plataforma y el entorno de desarrollo. En el momento de escribirlo, en Julio de 2009, las últimas noticias sobre el lanzamiento del producto apuntaban a Octubre de 2009, y que muy pocos cambios iban a aparecer en la versión final. Por ello, a pocos meses vista de esa versión definitiva, aún con la Beta 1 d... [Más]

Tags: , ,

dic 13 2011

Grabar un imagen ISO a un DVD nativamente con Windows 7

JM AlarcónCategorías: Sistemas operativos | Trucos y consejos genéricos
La verdad es que hace años que no utiliza una grabadora de CD o DVD. Mi portátil ultra-ligero ni siquiera trae una incorporada, así que tengo una externa USB que utilizo muy de vez en cuando para leer algún CD o DVD que me hacen llegar. El resto del tiempo uso llaves USB, pero desde hace años utilizo Dropbox y por lo tanto prácticamente ni eso. Ayer iba a instalar un Ubuntu en un portátil viejo que tengo que quiero regalar, e intenté hacer... [Más]

Tags: ,

dic 10 2011

Todo sobre AutoEventWireUp en páginas ASP.NET Web Forms

JM AlarcónCategorías: ASP.NET
En la directiva de página de los Web Forms de ASP.NET existe un atributo importante denominado AutoEventWireUp. Por defecto está establecido como True. Esto quiere decir que la infraestructura de la página se encargará automáticamente de enlazar los eventos de la página con aquellos métodos definidos en ésta que tengan los nombres y las firmas apropiados. Por ejemplo, si tenemos un método definido de esta manera: 1: private void Page_Load(object sender, System.EventArgs e) ... [Más]

Tags:

dic 5 2011

Catálogos de WebParts Dinámicos

JM AlarcónCategorías: ASP.NET
NOTA: Estas técnicas no están documentadas y se basan en mis indagaciones sobre cómo conseguir crear catálogos dinámicos de WebParts. Todo surgió a raíz de la pregunta de un alumno de mi curso de preparación del examen de certificación 70-515 de ASP.NET. ¿Cómo puedo crear un catálogo de WebParts para una página personalizada al cual le pueda añadir yo los controles que quiera dinámicamente?. Es decir, que los controles que aparecerán en el catálogo en lugar de estar determinados de antemano co... [Más]

Tags: ,

dic 3 2011

No se puede quitar Facebook de mi Windows Phone: ¿cómo arreglarlo?

JM AlarcónCategorías: Windows Phone
Windows Phone es sin duda el mejor sistema operativo móvil si eres un usuario intensivo de las redes sociales más conocidas, es decir, Facebook, Twitter y LinkedIn. El motivo es que Windows Phone 7.5 "Mango" se integra por completo con éstas y las incorpora como ciudadano de primera al resto del teléfono. Así, por ejemplo, tus contactos de LinkedIn o Facebook aparecen en tu agenda y los consolida de forma que toda la información que posees de cada contacto en cada red social y en tu ... [Más]

Tags:

nov 28 2011

Cómo detectar registros duplicados en una base de datos

JM AlarcónCategorías: SQL Server
Esta es una consulta muy sencilla pero que a muchos principiantes les resulta de mucha utilidad, así que como hoy he tenido que usarla y me he acordado, la pongo aquí por si a alguien le viene bien. El problema es el habitual: tenemos una tabla con muchos registros y queremos saber si alguno de ellos está duplicado. Lo más común no es que nos interese realmente saber qué registros están duplicados, sino qué registros tienen dos o tres campos iguales. Por ejemplo, si tenemos una lista de clien... [Más]

Tags:

nov 21 2011

Bloquear los botones mientras se envía un formulario

JM AlarcónCategorías: JavaScript | ASP.NET
Un efecto bastante indeseable en una página web es que los usuarios puedan enviar al servidor dos o más veces una misma información. Esto suele ocurrir porque existe una latencia entre el cliente y el servidor que hace que, si el servidor es lento o si hay mucha información que enviar o recibir en el proceso, la página tarde varios segundos en desaparecer del navegador.  Por lo tanto un usuario impaciente puede pulsar varias veces el botón de envío, recibiéndose varias veces la información... [Más]

Tags: ,