Browse by Tags
All Tags »
JavaScript (
RSS)
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...
Recordando el post sobre cómo crear un UpdateProgress , puede ser que queramos que nuestro JavaScript lo queramos incrustar en una DLL, por lo que sea, para proteger el JavaScript que no llega al cliente, por ejemplo. Objetivo: Debemos desarrollar una especie de librería de clases, pero en vez de clases .NET, JavaScript. Recuperar luego ese recurso será muy sencillo, al igual que incrustarlo. Requisitos: Al igual que en el anterior artículo, copy-paste , cualquier versión de ASP.NET AJAX nos sirve, tanto la 1.0 (para .NET 2.0) descargable en http://ajax.asp.net/ , como la versión nativa de ASP.NET AJAX. Si usas VS 2008 (o Visual Web Developer 2008 Express Edition) no tendrás que descargar nada. Análisis: Si tenemos una libreria en nuestra aplicación...
A veces no queremos hacer uso del UpdateProgress que viene con ASP.NET por diversos motivos. Objetivo El objetivo es conseguir el efecto del UpdateProgress. Para ello necesitamos un UpdatePanel donde tengamos por ejemplo un botón con un Label. Para que el efecto sea visible se recomienda usar el método Sleep de System.Threading.Thread, un par de segundo es suficiente. Requesitos Cualquier versión de ASP.NET AJAX nos sirve, tanto la 1.0 (para .NET 2.0) descargable en http://ajax.asp.net/ , como la versión nativa de ASP.NET AJAX. Si usas VS 2008 (o Visual Web Developer 2008 Express Edition) no tendrás que descargar nada. Analisis ¿Que hace el UpdateProgress? Siempre que se hace una petición al servidor se muestra un panel. Por lo que ya sabemos...
El propósito de este post es tratar de añadir un poco de luz sobre las opciones con que contamos a la hora de que nuestros servicios web orientados a AJAX usen JSON como protocolo de serialización de los objetos. Hace ya un tiempo escribí en este mismo...( read more ) Read More...
Si has descargado al máquina virtual de Visual Studio 2008 con Team Foundation Server (no se si en la máquina virtual sin TFS pasa lo mismo) puede que te pase este error, no funciona ni la "colorización", ni el Intellisense de JavaScript ni el debugging. Eso se debe a que en el registro hay 2 entradas que están mal y para solucionarlo hay que cambiar éstas dos entradas: Para quien a estas alturas no sepa Inicio>Ejecutar...>Regedit. En la raíz "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\CLSID\{014E9A41-54E5-44ED-B15E-EFFA8758BFFC}" hay que cambiar la entrada CodeBase y ponerle: file:///C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE\\Microsoft.JScript.AuthoringServices.dll Y en la raíz "HKEY_LOCAL_MACHINE...
Hoy un compañero me ha comentado que estaban teniendo problemas con una aplicación que están manteniendo en un cliente y en concreto en una ventana que abrían con la función window.ShowModaldialog() y en la que al cargarse se mostraban los valores de unas variables de sesión, pero que al hacer click sobre un botón que causaba postback esos valores los estaban perdiendo. El problema radica en las ventanas que se abren con window.ShowModalDialog y es que el postback causa una nueva petición al servidor que hace que se dispare el evento Session_Start , con lo cual todas las varibles de sesión se pierden. En estos casos podemos hacer 2 cosas: Usar este tipo de ventanas sólo para interactuar mediante JavaScript y devolver los datos a la página padre...
En la edición del mes de mayo de MSDN Magazine podemos encontrar un artículo sobre JavaScript. Me ha parecido muy interesante ya que nos muestra como JavaScript cumple todas las características de la POO, lo podéis leer en la siguiente dirección: http://msdn.microsoft.com/msdnmag/issues/07/05/JavaScript/default.aspx El artículo se mostrará en el idioma que tenga configurado el navegador (está disponible el español ). Mientras leía el artículo iba probando los ejemplos en Visual Web Developer "Orcas" Beta 1 y pude comprobar todo lo que tiene que madurar el Intellisense para JavaScript, ya que hay muchas cosas que todavía no soporta. Además me parece muy interesante la comparación que hace durante el artículo con C#/C++ e incluso en algunos casos...
More Posts
Next page »