JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Tipos anulables en .NET 2.0

Una interesante característica nueva que ofrece la versión 2.0 de la plataforma.NET es la de "Tipos anulables" o, en inglés, "Nullable types". Se trata de un tipo especial de dato que permite que los tipos base por valor se puedan comportar como valores por referencia nulos cuando sea necesario (repasa mi post sobre tipos por valor y por referencia). De este modo este nuevo tipo anulable permite representar valores concretos o la ausencia de valor. Por ejemplo, una variable de tipo 'int' siempre contiene un número entero. Aunque no le asignemos explícitamente nada, al ser un tipo base por valor siempre toma un valor por defecto, en este caso concreto un 0. Pero claro, un 0 no es lo mismo que decir 'esta variable no contiene valor alguno'. En el caso de las clases (tipos por referencia) la ausencia de "valor" se representa asignándole un nulo a la variable, pero en los tipos por valor esto no es posible. ¿No sería estupendo disponer de un híbrido entre estos dos comportamientos? Pu... [Más]

SSL y algunos conceptos erróneos sobre seguridad

El otro día en el Blog de George Ou en ZDNet apareció este artículo sobre seguridad HTTPS (SSL) en los bancos: "Many Banks failing to use SSL authentication". En él George hablaba sobre muchos bancos americanos y el problema que suponía para ellos el hecho aparentemente inocente de que su página principal, en la que está también el login a su banca electrónica, no usase SSL. Por suuesto en cuanto metías los datos y dabas a "Entrar" las comunicaciones se encriptaban, pero quizá era ya demasiado tarde. Vale la pena echarle una lectura rápida... El caso es que el artículo en cuestión levantó mucha polémica (a más de un mal webmaster le tocó las narices) y poco después, hace unos días, sacó otro artículo en respuesta a esas críticas en el que analizaba las declaraciones oficiales al respecto que se hacían en una página de la Marina Estadounidense. Si bien los conceptos relacionados son básicos a más de uno le vendrá bien echarle un repaso a lo que comenta ya que si el Ejército de los USA... [Más]

Funcionalidad AJAX en el control GridView de ASP.NET 2.0

Volviendo un poco sobre el tema de AJAX que ya he tratado en muchos de los post anteriores, voy a hacer un pequeño comentario respecto a dotar de funcionalidad similar a la esperada en un entorno AJAX cuando estamos usando el nuevo control GridView de ASP.NET 2.0. Como es sabido este estupendo control nos permite dotar de funcioalidades de paginación y ordenación de datos a un origen de datos sin necesidad de escribir código alguno. Lo que ya no sabe mucha otra gente es que, además, en la mayoría de los casos se puede conseguir esta funcionalidad sin tener que refrescar la página completa, al más puro estilo AJAX. De este modo al pulsar sobre la cabecera de la rejilla o al cambiar de página se recargan exclusivamente los contenidos de ésta, pero sin realizar un "PostBack" al servidor que fuerza el refresco de la página completa. Para ello sólo es necesario establecer a true la propiedad EnableSortingAndPagingCallbacks del control, como ilustra la figura del lateral. Al hacerlo se co... [Más]

XHTML (y IV) - Uso del estándar desde ASP.NET 1.1

Todo lo que he contado hasta ahora es estupendo si ya te has pasado a ASP.NET 2.0 y VS2005 Pero ¿qué pasa con los que todavía siguen usando la versión anterior, ASP.NET 1.1? Pues que están bastante fastidiados si necesitan XHTML, la verdad. Pero como casi todo en esta vida tiene solución y encima está en Internet ;-) los amigos de RiderDesing.com (especializados en sitios Web ecuestres, lo flipas) han creado un gestor de peticiones para ASP.NET 1.1 que se encarga de que las páginas hechas en ésta versión generen XHTML 1.1 Strict, incluso quitando el atributo 'target' de los enlaces y otras lindezas por el estilo. Y encima es gratuito (o eso parece). Por si fuera poco tiene otro más que genera XHTML 1.0 Transitional, para cuando no se necesita tanta rigidez. Muy interesante. Los puedes descargar desde la página de productos de RiderDesign.

XHTML (III) - Validación desde el entorno de desarrollo

Siguiendo con la serie iniciada hace poco sobre XHTML, y para terminarla, vamos a ver cómo establecer las opciones de validación de éste desde Visual Studio 2005. Cuando editamos una página en modo "Marcadores" (es decir, viendo el código HTML) el editor nos ayuda con "Intellisense" (es decir, adelantándose a lo que vamos a escribir para no tener que aprendernos los atributos y valores) y además valida los posibles errores de una manera similar a como lo hace Word cuando encuentra faltas ortográficas: subrayándolos con una línea ondulada de color azul: Además del subrayado también nos ofrece información sobre el error en el "Tooltip" que aparece cuando nos colocamos encima con el cursor, y si tenemos abierta la ventana de errores veremos una lista con todos ellos. La validación se realiza contra el esquema definido para la página actual, que puede ser uno cualquiera de los disponibles en Visual Studio o alguno definido por terceras partes que le añadamos. Por defecto se utiliza XH... [Más]

DotnetNuke starter kit: ¡no lo instales, es un peligro!

Estoy fastidiado :-( Hoy se me ocurrió la brillante idea de instalar en mi equipo de trabajo el Starter Kit de DotNetNuke 4.x (no me voy a molestar ni en poner la URL a este programa). Se trata de un software de código abierto para ASP.NET 2.0 que permite crear aplicaciones de contenido Web sin mucho esfuerzo. El caso es que al hacerlo me ha fundido por completo mi Visual Studio 2005. Ahora o puedo hacer absolutamente nada. Lo he intentado reparar, reinstalar e incluso volver a un estado anterior con un punto de restauración del sistema. NADA. No hay forma de recuperar el entorno. Muerto, eliminado, kaput... :-( En cuanto intentas crear cualquier nuevo proyecto se te queda el entorno colgado y no hay manera. Lo peor es que no hay manera de deshacerse de este problema (o yo al menos no la he encontrado). El instalador de contenidos de Visual Studio no tiene opción alguna para desinstalar (ya les vale), y he probado también a resetear los ajustes todos, borrar la caché de plantil... [Más]

XHTML (II) - Cómo usarlo desde ASP.NET 2.0

En mi anterior post sobre XHTML presentaba este estándar y cómo afectaba a nuestras aplicaciones HTML de toda la vida. Ahora vamos a ver cómo conseguir que nuestras aplicaciones ASP.NET 2.0 cumplan con este estándar. Por defecto ASP.NET 2.0 genera XHTML 1.0 Transtional, en el que la mayor parte del HTML generado para los controles Web cumple con XHTML 1.1 pero que tiene ciertas características que hacen que no lo cumpla. Existe una sencilla forma de configurar el entorno de ejecución para generar otros tipos de marcado más o menos compatibles (esto último puede ser interesante para migrar aplicaciones antiguas en ASP.NET 1.x). Lo único que hay que hacer es configurar un nodo de tipo xhtmlConformance en nuestro web.config, así: <system.web>    <xhtmlConformance         mode="strict" /></system.web> para conseguir marcado XHTML Strict, o bien: <system.web>    <xhtmlConformance  ... [Más]

El estándar XHTML (I) - Qué debemos saber los desarrolladores Web

Hace poco un alumno de mi curso de ASP.NET 2.0 de campusMVP me preguntaba por el estándar XHTML 1.0 Strict y cómo conseguir que ASP.NET fuera capaz de generar páginas compatibles con él. Retomo ahora el tema para publicar unas cuantas cosas sobre él en el Blog, ya que en algunos tipos de apliaciones (por ejemplo, si trabajamos para un organismo público) puede ser importante. Primeramente veremos qué es XHTML y qué niveles tiene. En sucesivos post explicaré cómo sacarle partido en ASP.NET 2.0 y cómo nos podemos "columpiar" fácilmente con esto a menos que tengamos un cuidado extremo. Espero que os parezca interesante. ¿Qué es XHTML? El estándar XHTML está definido por la W3C (World Wide Web Consortium) y define las páginas HTML como si se tratara de documentos XML bien formados. Esta es su principal ventaja ya que pueden ser tratadas y procesadas por un analizador XML cualquiera sin problemas, lo cual las convierte en algo mucho más fácil de usar y transformar por máquinas. Además, la... [Más]