Capitulo 1 (AJAX)
Capitulo 1 (AJAX)
Desarrollo de Software IV
AJAX
Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas
operativos y navegadores dados que está basado en estándares abiertos como
JavaScript y Document Object Model (DOM).
Como el DHTML, LAMP o SPA, Ajax no constituye una tecnología en sí, sino que
es un término que engloba a un grupo de éstas que trabajan conjuntamente.
Es muy importante tener claro que no siempre debemos usar Ajax, y también tener
claro que a veces, podemos sobrecargar el servidor en exceso y provocar más
perjuicios que beneficios.
Dicho esto, que sirva simplemente de atención, veamos un ejemplo de como usar Ajax
en ASP.NET.
Ajax Extensions
Las Ajax Extensions o las extensiones de Ajax para ASP.NET, son unos controles de
servidor que nos permite añadir funcionalidades Ajax a nuestras aplicaciones
ASP.NET.
El control más importante de todos los controles que podemos encontrar en las
extensiones Ajax es el control ScriptManager del que hablaremos a continuación.
El control ScriptManager
El control Script Manager es el control principal del lado del servidor que tiene
relación directa con Ajax y ASP.NET.
El control UpdatePanel
El control UpdatePanel habilita a la aplicación Web para actualizar una porción de la
página Web ASP.NET sin tener que recargar toda la página Web entera.
Todos los controles de las Ajax Extensions están instalados en ASP.NET 3.5 ó
superior. En el caso de disponer de ASP.NET 2.0, tendremos que descargarnos las
Ajax Extensions de Internet.
Una vez hecho esto, iniciaremos Visual Studio con el fin de crear un nuevo proyecto de
aplicación Web.
Cuando hayamos creado nuestra aplicación inicial, añadiremos una nueva página Web a
nuestro proyecto y acudiremos a la ventana de herramientas y pulsaremos el botón
derecho del ratón con el fin de buscar el ensamblado AjaxControlToolkit.dll que
contendrá un numeroso número de controles de usuario de funcionalidad Ajax.
Una vez que tenemos los controles de Ajax Control Toolkit listos para ser utilizados y
que hemos creado una nueva página Web, vamos a insertar dentro de la página Web un
control ScriptManager y un control TextBox estándar.
La siguiente acción será seleccionar la opción Agregar extensor del control TextBox.
Al ejecutar nuestra aplicación Web, veremos que ésta nos permite seleccionar una
fecha al hacer clic con el ratón sobre la caja de texto sin que tengamos que recargar el
formulario.
La parte de código que contiene nuestra página Web es en este caso la siguiente:
</asp:ScriptManager>
<cc1:CalendarExtender ID="TextBox1_CalendarExtender"
runat="server"
Enabled="True" TargetControlID="TextBox1">
</cc1:CalendarExtender>
En el siguiente ejemplo, vamos a ver como utilizar uno de los controles de Ajax Control
Toolkit, y como mostrar el contenido de ese control en un control TextBox a través del
postback estándar de ASP.NET
Vamos a iniciar un nuevo proyecto e insertar dentro del formulario Web un control
ScriptManager, un control Editor de Ajax Control Toolkit, y un control TextBox y
Button estándar.
this.TextBox1.Text = this.Editor1.Content.ToString();
Observaremos que se produce un postback y que dentro del control TextBox, aparece
el texto que escribimos en el control Editor.
Ahora bien, ¿cómo evitar de forma rápida y sencilla ese postback para que no se
refresque la página Web entera?
Observaremos en este caso, que no se produce postback, y que los datos, se siguen
pasando del control Editor al control TextBox de la misma manera a como lo hacía
antes.
Como podemos apreciar, en un par de acciones de ratón, hemos preparado una página
ASP.NET con Ajax.
Escenarios
Puede extender las aplicaciones ASP.NET existentes y desarrollar otras nuevas que
incorporen la funcionalidad AJAX (Asynchronous JavaScript and XML). Utilice las
características AJAX cuando desee conseguir lo siguiente:
Mejorar la experiencia del usuario con páginas web más enriquecidas, que son
más receptivas a las acciones del usuario y presentan un comportamiento similar a
las aplicaciones cliente tradicionales.
Reducir las actualizaciones de página completa y evitar el parpadeo de la página.
Habilitar la compatibilidad entre exploradores sin escribir script de cliente.
Llevar a cabo comunicaciones cliente-servidor de tipo AJAX sin escribir script de
cliente.
Utilizar controles y componentes de ASP.NET AJAX Control Toolkit.
Desarrollar controles personalizados ASP.NET AJAX.