miércoles, 8 de septiembre de 2010

Llamado automático de javascript en Update Panel

Alguna vez hemos necesitado que al terminar de cargarse una página debemos llamar una función de javascript, algunas veces esto se resuelve simplemente agregando esta función en el evento onload del html, ó desde el servidor a través de 
Response.Write("<script type='text/javascript'>funcionALlamar();</script>");
También mediante JQuery, etc. Pero si queremos que se llame la función cuando un UpdatePanel se termine de recargar la cosa no es tan sencilla, en mi caso necesité hacer esto porque los diseñadores del sitio aplicaban los estilos al terminarse de cargar la página, así que cuando el UpdatePanel se recargaba todos los controles que contenía perdían sus bonitos colores y formas. Entonces investigando por ahí no recuerdo en que foro encontré una buena solución; consiste en adicionar un código javascript dentro del UpdatePanel, allí se llama la clase PageRequestManager, la clase de JavaScript de Microsoft® AJAX Library que proporciona compatibilidad de cliente con UpdatePanels, y le decimos que ejecute la función que queremos, el ejemplo sería algo así:

<script type="text/javascript">       Sys.WebForms.PageRequestManager.getInstance().add_endRequest(funcionALlamar); 
</script>
Y eso es todo al terminarse de actualizar nuestro UpdatePanel se llamará automáticamente la función que necesitemos.

Referencia: aqui

No hay comentarios:

Publicar un comentario