miércoles, 23 de febrero de 2011

Primeros ejemplos con AJAX y ASP.Net

Luego de casi 3 años programando en ASP.Net en su versión 3.0 y el Framework 3.5, estoy empezando a dominar el área de las peticiones al Servidor sin hacer Postback, una de las mejores soluciones es la tecnología AJAX utilizada en Java y de igual forma con ASP.Net.

Visual Studio 2008 incorpora el uso de extenciones AJAX que hace del uso de esta tecnología algo muy fácil de incorporar en nuestrar aplicaciones web. El control ScriptManager administra el script de cliente para las páginas web habilitadas para ASP.NET AJAX. De forma predeterminada, el control ScriptManager registra el script para Microsoft AJAX Library con la página. Esto permite a los script de cliente usar las extensiones del sistema tipo y admitir algunas características, como la representación parcial de páginas y las llamadas de servicio web.

A continuación veremos cómo utilizar Ajax con la versión 3.5 del .NET Framework.
El ejemplo consistirá en sumar el valor de 2 textbox y mostrar el resultado en un tercero.

Colocaremos los controles necesarios en el código de cliente:

Ahora, en el lado del servidor, capturamos el evento click del botón y realizamos la suma:

Protected Sub btnSumar_Click(ByVal sender As Object, ByVal e As EventArgs)
Handles btnSumar.Click

Try
txt3.Text = FormatNumber(CDec(txt1.Text)
+ CDec(txt2.Text), 2)

Catch ex As Exception
txt3.Text = "0"
End
Try

End Sub

Como podemos ver, ahora es muy sencillo trabajar con ajax y asp.net


El control ScriptManager(sólo puede haber uno en la página) es fundamental para la funcionalidad de Ajax en ASP.NET. El control administra todos los recursos de Ajax en una página.

Por otra parte tenemos el UpdatePanel. Lo he puesto con Mode="Conditional". Por defecto no está así, y está en mode "Always":
- Si está en Always, nuestro UpdatePanel se actualizará siempre que haga un PageLoad, por ejemplo a consecuencia de una actualización de otro UpdatePanel.
- Si está en Conditional, nuestro UpdatePanel sólo se actualizará cuando los elementos de dentro de nuestro UpdatePanel lo requieran.

Dentro del UpdatePanel está el que es donde irá nuestro contenido, en este caso el Button y los TextBox. Como digo, la filosofía es muy sencilla, todo lo que haya dentro del UpdatePanel producirá comportamiento AJAX, y eso significa "cachar" los elementos que produzcan eventos (El Button produce el evento Click) y los elementos que de algún modo son cambiados.

No hay comentarios: