Pergunta

Eu quero fechar um pop-up ShadowBox quando o usuário clica em um botão. O pop-up está mostrando uma página separada em um iFrame. Esta multa trabalha com um evento de clientes a lado no controle botão Cancelar, por exemplo.

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

O botão Ok, no entanto, tem um evento do lado do servidor, porque as necessidades de dados para serem salvos. Quando eu definir tanto o OnClick eo manipulador OnClientClick de cima, o IFrame é fechado e o manipulador de eventos do lado do servidor não incêndios.

Eu tentei remover o manipulador de eventos OnClientClick da marcação e usar o ClientScriptManager para alcançar este objetivo, como em

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

Aparentemente porque os botões estão em um UpdatePanel, o script não ficar registrado, e não aparecem no fluxo Reponse. As estadias IPanel abrir.

Como posso fazer isso?

Foi útil?

Solução

Quando você estiver usando os controles de MS AJAX, você precisa registrar seus scripts com a ScriptManager, não ClientScript.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top