jueves, marzo 22, 2007

Manejo alternativo de Ventanas Emergentes en ASPX y C#

Cuantas veces no te has visto en la necesidad de que tus aplicaciones web, envien pequeños mensajes al viejo estilo de las aplicaciones desktop, y ¿cual alternativa nos da dotNet? ninguna, o por lo menos eso parece. Sin embargo, con la experiencia en otras plataformas de desarrollo se van descubriendo alternativas. Tenemos por ejemplo, la facilidad de usar el recurso clásico: JavaScript, pero ¿que sucede si no queremos usar JavaScript? ¿Existe algún otro recurso? La respuesta es siempre si, hay componentes, sin embargo dichos componentes lo que hacen es tambien producir codigo javascript. Tal parece que es imposible deshacerse de él.


Que sucede si queremos que nuestra ventana emergente (popup window) se vea como en la siguiente imagen:




La respuesta puede venir igualmente desde el paradigma que plantea javascript (ante el cual no estoy en contra, en lo absoluto, al contrario); agregar un DIV en mi HTML de la ASPX y ocultarlo o mostrarlo via JavaScript. Sin embargo esto mismo puede hacerse desde dotNet, C# en este caso. ¿como? simple, cambiar los tags de HTML a componentes dotNet via usar la propiedad RUNAT="SERVER". Este sencillisimo truco puede agregar funcionalidad muy util a los tags de HTML al volverlos componentes manejables desde el servidor. Como el manejo de eventos por decir algo.


En este caso basta con crear un DIV o una simple Tabla y añadirle runat=server para extener la funcionalidad y de esa forma cubrir nuestras necesidades. Ejemplo.- Si queremos que despues de guardar los datos de nuestra pantalla de clientes, (figura de arriba), se muestre la ventana de mensaje indicando el resultado, ya haya sido un error o un resultado favorable, debemos hacer lo siguiente:



  1. Añadir el DIV o la Tabla en nuestra pagina ASPX.

  2. Añadir la propiedad runat=server

  3. Cambiar establecer la propiedad visible en false. Nota: dicha propiedad no es considerada por defecto en html, pero al extenderlo a control dotnet ya es posible usarla. de otra forma se tendria que modificar la propiedad style.

  4. Añadir el codigo de activación de la ventana en los eventos de servidor, en este caso en el on_click del boton "guardar".

  5. Si nuestra ventana la queremos eliminar despues de hacer click, agregamos el codigo de servidor para el evento indicando que ahora la ventana estara invisible.




Technorati : , ,

No hay comentarios.:

Publicar un comentario