Browse by Tags
All Tags »
JavaScript (
RSS)
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 de la plataforma, nos decidimos a lanzarlo al mercado. Trabajar con las Betas de Microsoft tiene muchas ventajas, pues te permite estar al cabo de la calle y adelantarte al mercado en las tecnologías que vendrán. Pero también tiene algunos inconvenientes...
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 en el servidor. Esto, según sea el sistema que hemos diseñado, puede tener resultados desastrosos para nuestra aplicación. Evitarlo par aun botón concreto es muy sencillo. Basta con deshabilitarlo usando un código como este: 1: < input type ="submit"...
El otro día hablabamos por twitter sobre fechas UTC , sobre si nuestra aplicación, en mi caso servicio REST, debe devolver la fecha UTC al cliente y si este debe ser el encargado de transformarla. Yo soy de los que piensa que sí, que debemos almacenar la fecha en UTC en base de datos y retornarla al cliente tal cual y delegar en él la responsabilidad detransformarña a su locale correspondiente. En nuestra aplicación, tenemos un front-end desarrollado con...( read more ) Read More...
Esto a simple vista es una tarea sencilla, ya que de toda la vida las páginas HTML disponen de un evento onload que nos permite detectar cuando el documento ha cargado por completo. Por ejemplo, si escribimos: 1: < body onload ="doWhatYouNeed();" > 2: ...... 3: </ body > En cuanto el documento esté completamente cargado se llamará de manera automática a la función doWhatYouNeed . Nota : A partir de ahora haré todos los ejemplos prácticos en inglés para facilitar su localización posterior a este idioma, así que no te extrañes de ver los nombres de las variables, métodos... e incluso la interfaz de usuario en el idioma de Shakespeare. Esto nos asegura que cuando se llame a la función todos los elementos de la página estarán...
No sé sí el título será muy acertado pero lo que quiero mostrar es como cargar más información en nuestra página tal cual lo hace Facebook, Google Reader… cuando la barra de scroll llega al final. (Al final del artículo está el código de ejemplo) Para ello vamos a hacer uso de JQuery y del evento del scroll de la ventana. En este caso no necesitamos ninguna librería adicional de JQuery pues ya lo tenemos disponible...( read more ) Read More...
En el blog de Scoot hay un extenso artículo sobre esta nueva contribución de Microsoft a esta fantástica librería como es jQuery . Me voy a centrar en este artículo en las templates de cliente: ¿Que són? Pues digamos que es como una mezcla de código javascript y HTML que nos permiten generar código HTML a través de un objeto o array de objetos javascript, algo como esto: <script id= "productTemplate" type= "text/html" > <div> Product Id: {{= id }} <br /> Title: {{= title }} <br /> Description: {{= description }} <br /> Price: € {{= price }} </div> </script> En este caso el objeto que vamos a represnetar (Product...
Los temporizadores ( Timer ) de las extensiones de AJAX para ASP.NET son muy útiles. Nos permiten ejecutar una determinada tarea cada cierto tiempo, provocando postbacks de la página (tanto completos, como parciales) en intervalos regulares. Un único Timer colocado en la página puede conseguir que se refresquen todos los UpdatePanels disponibles o cada uno de manera individual. Lo habitual es colocarlos en la página y olvidarnos de ellos. Pero ¿qué pasa si queremos poder pararlos y activarlos a voluntad? La cosa tiene más complicación de la que parece a simple vista. Lo primero que se nos ocurre a cualquiera es que, dado que tiene una propiedad Enabled para activarlo y desactivarlo bastará con establecerla en False para conseguir el efecto deseado...
En mis tres anteriores post me centré en JSONP, la solución soportada actualmente por cualquier navegador para hacer llamadas a servicios JSON ubicados en dominios diferentes al actual (ver índice al final de este post). Ahora, tras quince dís sin tiempo para nada (con Codecamp y TTT para Microsoft por el medio), por fin saco un par de horitas para escribir esta últma parte de la serie, dedicada a los estándares. Las limitaciones del objeto XmlHttpRequest a la hora de hacer peticiones desde el navegador a páginas y recursos ubicados en otros dominios son de sobra conocidas. Ello ha hecho que los programadores busquen atajos para conseguir esta funcionalidad y saltarse esta barrera. Hasta ahora hemos visto cómo JSONP nos permite conseguirlo gracias...
En mis dos anteriores post (busca los enlaces al final de este post y leetelos antes si no lo has hecho) he estado hablando sobre la técnica de JSONP para consumo remoto de datos JSON entre dominios, algo a priori prohibido por el modelo de seguridad del navegador. Anteriormente comentaba que JSONP podría tener ciertos problemas de seguridad, y que para evitarlos en ASP.NET 3.5 se habían introducido cambios para paliarlos que rompían la compatibilidad con versiones anteriores. Voy a aclararlo ahora. El problema de seguridad tiene que ver con la obtención de acceso no autorizado a información privada que se comparte con JSON. Una de las técnicas habituales de securizar el acceso a los servicios, consiste en crear cookies encriptadas con una validez...
Es una pregunta frecuente en los foros de la MSDN y que mejor manera de resolverla que con un ejemplo práctico. Lo primero que he hecho ha sido crearme una nueva clase a la que añadiré un Extension Methods para la clase Page y así poder utilizarlo como sí de un método más de la clase se tratara: Helper.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Text; /// <summary> /// Helper Class /// </summary> public static class Helper { /// <summary> /// Registers the redirect on session end script. /// </summary> /// <param name="page">The page.</param> public static void RegisterRedirectOnSessionEndScript...
More Posts
Next page »