« Volver
in ajax asp.net read.

[ASP.NET] Update Panel y jQuery juntos es posible.

Hola a todos, este es un post que quería hacer hace rato, y pues en los últimos días estuve varios comentarios de Cristian en un post anterior (filtrar gridview con jQuery), así que Cristian con este post te contesto, en resumen el problema radica en que cuando se tiene un updatepanel y se realiza alguna actualización las funcionalidades que se han implementado con jQuery se pierde, y esto ocurre simplemente porque al utilizar el updatepanel la página no se carga normalmente, y esto si es necesario para jQuery.


Para dar un ejemplo pensemos que tenemos una página en la cual tenemos un updatepanel, y allí dentro unos tabs, los cuales son creado gracias a jQuery UI, entonces la primera vez que se carga la página tenemos algo como:

Imagen1

Algo muy sencillo, lo interesante es que tenemos un botón, y cuando damos click en el botón lo que tenemos es que se realiza una actualización parcial de la página, lo cual hace que nuestros tabs dejen de funcionar:

Imagen2

Y lamentablemente se han perdido los tabs… pero ahora vamos a la solución la cual realmente es muy sencilla, lo único que debemos utilizar en este caso es la Microsoft Ajax Library, y en el momento en que se termina la renderización parcial debemos volver a llamar el script que crea los tabs o los scripts que estemos utilizando:


<script type="text/javascript"> 
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endReq); 
function endReq(sender, args) 
{ 
    $("#divTabs").tabs(); 
} 
<script> 

Lo importante es que no olviden referenciar la librería Microsoft Ajax, en el ejemplo encontrarán el archivo correspondiente, y lo otro importante es que el código anterior debe ir dentro del body.

Espero les sea de mucha utilidad el ejemplo, les dejo el ejemplo para su descarga, hasta un próximo post!

Descargar el ejemplo!


comments powered by Disqus