JASoft.org

Cómo forzar un determinado adaptador de rendering en ASP.NET 2.0

Cómo forzar un determinado adaptador de rendering en ASP.NET 2.0
Hace unas semanas un lector del blog me escribió comentándome que tenía problemas para validar cierta aplicación Web como XHTML Transitional porque decía que en concreto los controles ImageButton se le renderizaban con un atributo border="0" que no está permitido por XHTML Transitional, y por lo tanto no pasaba la validación de el W3C. El caso es que a mi me renderizaba correctamente el control (sin border, usando estilos) al ponerle la cabecera del transicional: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> El caso es que todo el problema venía de que, al usar el validador de el W3C para llamar a la URL en la que estaba la página, el módulo de renderización adaptativa de ASP.NET no reconocía el agente de usuario del programa que hacía la descarga 8es decir, no lo reconocía como Internet Explorer, Firefox o cualquier otro navegador), y al no saber qué capacidades tiene el cliente que accede a la pági... [Más]

Utilizar diversos navegadores para probar nuestras aplicaciones ASPX

Utilizar diversos navegadores para probar nuestras aplicaciones ASPX
Este truco no lo conoce mucha gente, pero si usas la opción "Explorar con..." al pulsar con el botón derecho en una página ASPX de tu proyecto en Visual Studio 2005: se abre un diálogo muy interesante. Para empezar puedes utilizar el navegador interno de Visual Studio en lugar de IE para navegar por las páginas, y así todo "queda en casa". Muy práctico. Incluso puedes hacer que sea el navegador por defecto. Obviamente basta con pulsar Agregar y seleccionar Firefox.exe para poder navegar con este otro navegador (u Opera o con cualquiera). Además, y muy interesante también, puedes elegir en la lista desplegable de la parte de abajo del diálogo en qué resolución quieres que se abra el navegador elegido, para así probar la aplicación en diversos tamaños de pantalla. Este es uno de esos pequeños detalles que por tenerlo delante de las narices no tocamos nunca y se nos escapan. ¡Con lo útil que es! :-)

Permitir la validación de un control con los validadores estándar de ASP.NET

Permitir la validación de un control con los validadores estándar de ASP.NET
Tal y como prometí en un anterior post, voy a explicar cómo podemos conseguir que un control sea utilizable directamente por los controles de validación estándar que vienen con ASP.NET. Ciertos controles Web (por ejemplo el control Calendar) no permiten su uso combinado con los controles de validación (estilo RequiredFieldValidator, RangeValidator, etc...), lo cual es una lástima porque para poder validar su contenido tenemos que construir nuestro propio control de validación (en fin...) o bien usar eventos de servidor para poder validarlos. Una de las ventajas de los controles de validación de ASP.NET es que ya realizan una validación en el cliente además de la que se hace en el servidor después, lo que ahorra tiempo y agiliza mucho la interfaz. Además están integrados en la validación de la página y permiten comprobar la propiedad IsValid de ésta antes de continuar con suprocesamiento, algo muy útil también. Por otro lado es muy habitual combinar diversos controles Web con una prop... [Más]

Fijar el foco en un control de usuario

Fijar el foco en un control de usuario
Hace unos días me escribió un lector del blog preguntándome como hacer esto. La cosa es que decía que cuando colocaba un control "normal" de ASP.NET en el formulario, bastaba con llamar a su método Focus() para que, al mostrarse la página en el navegador, dicho control tuviera el foco (por ejemplo un TextBox). El caso es que no tenía la misma funcionalidad en los controles de usuario que se construía para reutilizar la funcionalidad de la interfaz y le resultaría muy útil. La solución es muy sencilla: un control de usuario no es más que una clase normal y corriente y como tal se puede extender con nuevos métodos y propiedades. Por ello basta con que creemos un método Focus() propio que delegue en el método Focus() del control interno que queremos que pille el foco cuando el control tenga el foco. Me explico... Imaginemos que en nuestro control de usuario ASCX tenemos varios controles: unas etiquetas, un par de cuadros de texto, una lista desplegable, etc... y queremos que cuando el co... [Más]

Control gratuito: FileUploadAJAX de Subgurim.net

Control gratuito: FileUploadAJAX de Subgurim.net
Hace unos días Javi Navarro, alias Subgurim, se puso en contacto conmigo para comentarme que había puesto a disposición de todo el mundo un interesante control para ASP.NET. Se trata de FileUploadAJAX, un control sustitutivo del control para subida de archivos al servidor (control FileUpload) de ASP.NET 2.0. Este control usa una técnica de aspecto AJAX para conseguir una interfaz de usuario más agradable y sencilla. Se trata de un control muy fácil de usar. Desde que lo descargue hasta que estuve gestionando archivos en un ejemplillo pasaron menos de 10 minutos. Aunque el control es una versión 1.0 y se puede mejorar en algunos aspectos vale la pena usarlo pues simplifica bastante el trabajo. Una de las cosas más interesantes (aparte de que es AJAX) es que permite gestionar desde la misma página la subida de varios archivos, almacenando una lista y pudiendo borrarlos si nos arrepentimos. También gestiona automáticamente el renombrado de los archivos que ya existen o la creación... [Más]

¿Donde están los proyectos Web "clásicos" en el SP1 de VS2005?

¿Donde están los proyectos Web "clásicos" en el SP1 de VS2005?
Como ya he comentado en diversas ocasiones aquí, existe un complemento para Visual Studio que permite crear aplicaciones Web con el modelo de compilación clásico de ASP.NET 1.x. Ello permite migrar mejor las aplicaciones antiguas y además, algunos lo preferimos por su mayor claridad a la hora de desplegar, etc... El caso es que el complemento que se podía descargar hasta hace unos días funcionaba sólo en la versión en inglés de Visual Studio 2005, pero ahora viene incluido en el Service Pack 1 de VS2005, tal y como comenté ayer, y por lo tanto está plenamente soportado por Microsoft y funciona en todos los idiomas de VS incluyendo el español. El caso es que, tras instalar el SP1 creí que en "Nuevo Proyecto Web" habría alguna plantilla del estilo "Sitio Web ASPX clásico" o algo así, y no lo encontraba. Para acceder a este tipo de proyectos debemosir por "Nuevo proyecto", normal, fuera de Visual Web Developer, y se nos muestran dos nuevas opciones tal y como pasaba en las versiones an... [Más]

Botón y foco por defecto en páginas ASP.NET 2.0

Botón y foco por defecto en páginas ASP.NET 2.0
Un par de novedades sencillas pero muy útiles que proporciona ASP.NET 2.0 son el botón y el foco por defecto. Ahora podemos hacer que, pulsar ENTER en un formulario, sea equivalente a hacer clic en un determinado botón. Para ello basta con establecer el atributo defaultbutton en el formulario de nuestro archivo ASPX: <form defaultbutton=“Boton1” runat=server> Lo más interesante de esto y que no todo el mundo sabe es que, además, se puede especificar esta misma propiedad en los paneles (controles <asp:panel>) para especificar lo mismo para los controles que hay en su interior: <asp:panel defaultbutton=“Boton2” runat=server> Así, cuando tengamos el foco en un control dentro del panel, al pulsar ENTER es como si se pulsase el botón especificado. Esto sobreescribe el comportamiento especificado para el formulario pero sólo dentro del panel, lo cual puede ser muy útil sobre todo si ponemos varios para propósitos diferentes. También existe un nuevo atributo d... [Más]

Componentes duales para Windows y la Web

Componentes duales para Windows y la Web
¿Cómo puedo construir un componente o una biblioteca de clases que me sirva indistintamente para Windows Forms y para ASP.NET si debo usar características específicas de cada entorno? Expresado con otras palabras: ¿Cómo puedo saber si mi componente está siendo usado desde una aplicación de Windows Forms o de ASP.NET? Respuesta: verifica el valor de HttpContext.Current. Si es null (Nothing en VB) es que estás en un entorno no-web, y estarás bajo ASP.NET en caso contrario. Es un truco sencillo pero que a alguno puede que le resulte útil si se lo había planteado para algún componente propio.

Cambio del directorio de compilación temporal de ASP.NET

Cambio del directorio de compilación temporal de ASP.NET
He leído esto en algún sitio recientemente y me ha llamado mucho la atención porque no lo sabía. Resulta que es posible cambiar la carpeta en la que ASP.NET 2.0 compila las aplicaciones y genera todos sus ensamblados. Para ello basta con indicarlo en web.config dentro del nodo 'compilation' usando el atributo 'tempDirectory', así: <compilation tempDirectory="C:\Temporales"/> Muy sencillo. Igual te puede resultar útil en alguna ocasión.

Cómo usar la administración Web integrada en ASP.NET en aplicaciones de producción

Cómo usar la administración Web integrada en ASP.NET en aplicaciones de producción
Una cuestión muy celebrada de ASP.NET 2.0 es que no es necesario "currarse" desde cero toda la funcionalidad de autenticación, autorización, etc... ya que gracias a las nuevas API basadas en proveedores para Membership y Roles junto con los controles de Login (que incluyen interfaces de usuario para casi todo lo que necesitemos desde autentiación hasta creación de usuarios, etc..) incorporados a la versión 2.0 apenas será necesario escribir código nunca. El caso es que desde Visual Studio todo es muy fácil: basta con ir al menú "Sitio web·Administración de sitio Web" y nos aparece el flamante diálogo que vemos en la figura: (pulsa para ver en tamaño real) El caso es que con él configuramos todos los aspectos de nuestra aplicación relacionados con la seguridad: desde los proveedores que usaremos, pasando por los permisos de las carpetas y llegando a la definición de los primeros usuarios. Todo ello se guarda por defecto en una base de datos SQL Server creada para la ocasión y qu... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico