Preguntado hace 1 año
Jesús Molinero
Hola, en la aplicación que desarrollamos se abre con javascript una ventana hija para modificar los detalles de un registro, una vez modificados y salvados nos gustaría que se refrescase la ventana padre y a ser posible sólo el update panel que tiene los datos ¿es posible?
Hace 1 año
Gabriel Molina
Puedes usar window.opener para llamar a la ventana que abrió la actual, y así actualizar sólo el updatepanel de la ventana padre con una función que llame a __doPostBack como se explica en http://www.babelias.com/preguntas/actualizar-updatepanel-con-javascript/208.aspx
Pongo un ejemplito:
Parent.html
<body> <script> function ActualizarUpdatePanel() { __doPostBack('ct10_fomulario_updatePanel1', ''); } function Abre() { window.open("Son.html" , "ventana1" , "width=500,height=500,scrollbars=NO"); } </script> <button onclick="Abre();" /> </body>
Son.html
<body> <script> function MostrarAlerta() { if (window.opener && !window.opener.closed) { window.opener.ActualizarUpdatePanel(); window.close(); } else { alert('ventana padre nula'); } } </script> <button onclick="MostrarAlerta();" /> </body>
Ojo, controla que window.opener no es ni nulo ni está cerrado.
Rafa
Por ser posible creo que es posible. El objeto javascript que accede a la ventana padre es parent. Una vez acceddes a la ventana parent ya se trata de acceder al objeto que quieres recargar o a la función que quieres ejecutar.
Te comento de memoria. En la ventana padre tienes el update panel con un id (id=main). Ese udate panel creas una función que se encarga de realizar la recarga de datos (reload) Abres la ventana hija. En el submit de la ventana hija dices algo así como.
parent.main.reload();
en la funcion reload deberías dejar un tiempo de espera para permitir que las acciones de la base de datos se realizen,por ejemplo usando timeout o la función de retardo que prefieras.
Espero que esto te sirva de ayuda.
Chokisoft
Hola, y como quedarian estonces lo ejemplos anteriores si yo lo que deseo refrescar es un Grid que esta dentro del Update Panel
Si sales ahora, perderás los cambios. ¿Estás seguro de querer salir?
Para participar en Babelias, debes estar convenientemente validado. Si ya eres usuario inicia sesión, si no lo eres, te puedes registrar.
Trata de ser descriptivo, usa al menos 25 caracteres
LLeva tu prestigio a tu página o blog, con el widget de Babelias
Usuario de ejemplo