Pregunta

Quiero cerrar una ventana emergente ShadowBox cuando el usuario hace clic en un botón. El emergente está mostrando una página separada en un marco flotante. Esto funciona bien con un evento del lado del cliente en el botón Cancelar de control, por ejemplo.

OnClientClick="javascript:parent.Shadowbox.close();"

El botón Aceptar, sin embargo, tiene un evento del lado del servidor, ya que los datos necesita ser salvado. Cuando defino tanto un OnClick y el manejador OnClientClick desde arriba, el IFrame está cerrado y el controlador de eventos del lado del servidor no se dispara nunca.

He intentado quitar el controlador de eventos OnClientClick del margen de beneficio y utilizar el ClientScriptManager de lograr esto, como en

Page.ClientScript.RegisterStartupScript(this.GetType(),
  "Close", "parent.Shadowbox.close();", true);

Al parecer porque los botones están en un UpdatePanel, el guión no se registren, y que no aparece en la corriente Reponse. El IPanel permanece abierto.

¿Cómo puedo hacer esto?

¿Fue útil?

Solución

Al utilizar los controles MS AJAX, es necesario registrar las secuencias de comandos con el ScriptManager, no ClientScript.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top