Como es usual, usaremos el conocido "Hola, Mundo! como nuestro primer ejemplo de una página Web con Ajax. Comenzaremos abriendo el Visual Studio 2012 Express RC for Web, y creando un nuevo proyecto, eligiendo la opción "ASP.NET Empty Web Application", como se ve en la figura 1:

Figura 1 - Creando un nuevo Proyecto, eligiendo la plantilla ASP.NET Empty Web Application.

Como vemos en la figura 1, le damos el nombre HolaMundoAjax a nuestro nuevo proyecto. Luego, agregamos un nuevo Web Form al proyecto, como se observa en la figura 2:
 

Figura 2 - Agregamos un nuevo Web Form a nuestro proyecto “HolaMundoAjax”.

Cuando Visual Studio nos pide ingresar un nombre para el nuevo item, entramos default, como se ve en la figura 3:
 

Figura 3 - Ingresamos el nombre default para el nuevo Web Form agregado.

Visual Studio crea el nuevo Web Form y coloca el código HTML en el editor como se ve en la figura 4:
 

Figura 4 - Listos para empezar a crear la UI del web form agregado.

Usaremos dos nuevos controles: El control ScriptManager y el control UpdatePanel. Lo agregamos desde la caja de herramientas, del grupo “Ajax Extensions”, como vemos en la figura 5:
 

Figura 5 - Agregamos dos controles que se encargan de toda la funcionalidad Ajax.


El control ScriptManager asegura que los archivos ASP.NET AJAX requeridos son incluídos y que el soporte de AJAX es agregado, y tiene que ser incluìdo en cada página dónde desea usar la funcionalidad AJAX. Después del ScriptManager, agregamos el control más usado cuando trabajamos con AJAX, el control UpdatePanel. Este control le permite envolver elementos HTML que usted quisera permitir ser parcialmente actualizados, esto es, actualizados sin causar un verdadero “postback” al servidor.

En otro artículo estaré dando mas detalles del control UpdatePanel. Mas allá de estos dos controles, todo lo demas son controles estándards

Aqui vemos el código que queda al agregar todos los controles:

<form id="form1" runat="server">
    <asp:ScriptManager ID="MainScriptManager" runat="server" />
    <asp:UpdatePanel ID="pnlHelloWorld" runat="server">
        <ContentTemplate>
            <asp:Label runat="server" ID="lblHelloWorld"
                          Text="Haga click en el botón!" />
            <br />
            <br />
            <asp:Button runat="server" ID="btnHelloWorld"
                           OnClick="btnHelloWorld_Click"
                           Text="Actualize el texto" />
        </ContentTemplate>
    </asp:UpdatePanel>
    </form>

En la figura 6, vemos la corrida de este programa en Firefox

Figura6 - Arriba: como se ve la página default.aspx al correrse el programa. Abajo: Al hacer click en el botón vemos que cambia el texto del label

Si corre el programa verá que realmente el control label será actualizado con el texto que incluye nuesto saludo Hola Mundo! y la hora actual. Haga click en el botón repetidamente, y verá que el label devuelve la hora actual cada vez. Note la usencia del "pestañeo" de la página y el aviso que toda la página se está cargando en la barra de estado (todo es hecho sin actualizar nada más que el control label) Así, sin tener que lidiar con código JavaScript, hemos creado nuestra primera página que usa AJAX.

Pero...¿cómo es posible esto? Hay dos responsables: El control ScriptManager y el control UpdatePanel. Vea la nota arriba para una explicación de lo que hace cada uno de estos controles.

Si desea ver cómo esta página trabajaría sin AJAX, establezca el atributo enablepartialrendering del control ScriptManager a false así:

<asp:ScriptManager ID="MainScriptManager" runat="server"
 enablepartialrendering="false" / >

Esto deshabilitará el uso del "rendering" parcial en la página, y le mostrará como trabajaría sin AJAX.

Pronto continuaremos presentando más artículos sobre el uso de AJAX en ASP.NET...

respag Panamá - © 2012
Haga su donación para colaborar con La Escuela del Programador

La Escuela del Programador es un sitio web sin anuncios, sin ánimo de lucro, no es un sitio web comercial. Es el sueño de compartir con todos, muchos años de una gran pasión. Si realmente encuentra este sitio útil y lo aprovecha, le pido su generosa y no importa cuán modesta colaboración, simplemente para afrontar los costos de mantener este sitio disponible en internet.
No deseo lucrar con este sitio, ya que lo hago desinteresadamente, sólo le pido que, si puede, aporte (desde un dólar hasta lo que crea que puede dar), para afrontar los costos de dominio y hosting. Muchísimas gracias y ojalá juntos podamos hacer un sitio que sea una buena fuente de aprendizaje de programacíon en español.

Si no se siente en condiciones de colaborar, igualmente será bienvenido al sitio, es libre para todos y será un placer que encuentre mis artículos provechosos, pero si realmente me ayuda con una donación minima, seguramente, colaborará para que La Escuela del Programador se mantenga en la Web y crezca, conviertiendo a este sitio hecho con mucha pasión, dedicación y esfuerzo, en una buena fuente de aprendizaje.

Mis saludos cordiales y gracias por interesarse en mi sitio.

Rubén E. Spagnuolo
respag
Panamá - © 2012