Bases del control UpdatePanel de Atlas

Cuando una página ASP.NET ejecuta una llamada al servidor (postback) sucede una pequeña pausa seguida de un refrescado de toda la pagina sobre el navegador dibujando el nuevo contenido que es regresado en la petición. Durante esta pausa, el usuario definitivamente no puede interactuar con la aplicación y en ocasiones cuando la aplicación tiene que acceder a recursos del lado de servidor o la conexión está muy lenta resulta incomodo y tardío el cargar la información haciendo que la experiencia de usuario no sea del todo interactiva.

Una de las maneras que AJAX (Asynchronous JavaScript and XML) se diferencia de las aplicaciones web clásicas es el cómo se comunica con el servidor. AJAX utiliza código del lado del cliente (Client Script) para actualizar porciones de una página en vez de tener que hacer todo un postback. Esta técnica ofrece fluidez, responsividad y mejora la experiencia del usuario.

En el mundo de ASP.NET 2.0 contamos con Atlas, la implementación de AJAX sobre Visual Studio 2005 ofreciéndonos una serie de conceptos y controles que entienden y manejan el mismo principio de AJAX. Por supuesto que Microsoft siempre buscando mejorar la productividad de los programadores nos ofrece una serie de controles de servidor que con solamente configúralos podemos integrar en nuestras aplicaciones comportamientos y conceptos AJAX.

El control “UpdatePanel” de Atlas simplifica dramáticamente el uso del concepto AJAX en nuestras aplicaciones ASP.NET 2.0 abstrayendo la interacción entre el navegador y el servidor, restringiendo actualizaciones y refrescados de porciones particulares de nuestra página.

Asumiendo que cuentas con Atlas instalado vamos a crear una nueva aplicación de tipo “Atlas” Web Site que tenga un control SqlDataSource configurado para seleccionar registros de una tabla de cualquier base de datos y asegúrate de vincular en un control GridView el SqlDataSource para que muestre la información.

Para poder tener un comportamiento AJAX para cada evento de nuestro control GridView, lo primero que debemos integrar a nuestra página es una declaración que siempre debemos declarar. Siempre que utilicemos controles atlas en nuestras páginas tendremos que hacer la siguiente declaración.

<atlas:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" runat="server" />

Una recomendación es que si utilices paginas maestros convendría hacer esta declaración allá.

Con solamente rodear a nuestra declaración del control GridView con el control UpdatePanel de Atlas tendremos un comportamiento AJAX para cada evento de nuestro GridView.

<atlas:UpdatePanel ID="UpdatePanel1" runat="server">

<ContentTemplate>

<asp:GridView

ID="GridView1"

runat="server"

AllowPaging="True"

AllowSorting="True"

DataKeyNames="IDCountry"

DataSourceID="SqlDataSource1">

</asp:GridView>

</ContentTemplate>

</atlas:UpdatePanel>

Tan solo cinco líneas de código nos ha costado habilitar un comportamiento AJAX para los eventos de un GridView.

6 thoughts on “Bases del control UpdatePanel de Atlas

  1. El MagicAjax trabaja parecido, osea, solo tienes q agregar los paneles como un contenedor dentro de el va los webcontrols, cierto? de esa manera no hara postback como muestra el ejemplo y si si funcionaba bien, el detalle era q cuando en algun momento la sesion terminaba o lo borraba dejaba de funcionar, esa es mi duda, osea, segun tu ejmplo ¿es casi lo mismo q el MagicAjax??, ¿es solo poner los controles dentro de los paneles en este caso del UpdatePanel ?, es asi como trabaja el Atlas??, aun no lo eh utilizado, estoy buscando informacion y viendo las experiencias como de la q acabas de mostrar lo cual creo q es buena.

  2. La respuesta es si. No conosco MagicAjax sin embargo describes un escenario muy similar a Atlas. Atlas es la implementacion de AJAX sobre Visual Studio 2005 para desarrollar aplicaciones web ASP.NET 2.0 que soportan AJAX. El concepto de atlas consiste en crear algunos controles del lado del cliente y del servidor para ha bilitar un comportamiento AJAX. El UpdatePanel funciona como lo describes, rodea una porcion de nuestra pagina para que sea esta porcion la que se refresca sin hacer un postback. Si es cuestion de poner los controles dentro de nuetras regiones UpdatePanel eliminamos los postbacks, sin embargo esa es funcionalidad out of the box. Existen escenarios un poco mas complicados que eso y que requieren mas codificacion. Existen muchisimo mas controles de Atlas para habilitar comportamientos AJAX. El Control Toolkit deberias verlo tiene muchas mas implementaciones http://ajax.asp.net/default.aspx?tabid=47&subtabid=477 suerte.

  3. Si bueno, el trabajo es similar, mira tengo unas preguntas q stan dando vueltas en mi cabeza desde hace algun un tiempo y aun no logro despejar mis dudas del todo a ver si tu me puedes ayudar, de antemano Muchas Gracias.
    Ya mira yo se q en en primer lugar tengo q instalar el atlas cierto? ok, la otra vez que instalé me generó un kit de controles entre ellos staba el updatepanel (los mismos q me pones en el link), pero el kit de controles me creo en codigo C#, mientras q yo stoy programando en codigo vb, agregue los controls al proyecto, normal, pero cuando kise agregar a mi pagina vb me salia un error q no lo reconocia, entonces mi pregunta iba basicamente si es q yo hice algun paso mal, o hay un kit de controles para codigo vb.
    o en todo caso si ese kit de controles funciona tanto para .vb y c#.
    Por otro lado digamos q ya tengo un proyecto creado (ASP.NET Web Site) y kiero pasarlo a atlas, cual es el paso, es necesario migrar la aplicacion a un proyecto “Atlas” Web Site ?

    Gracias

Leave a Reply

Your email address will not be published. Required fields are marked *