ASP.Net e jQuery - la chiusura di un pop-up
-
18-09-2019 - |
Domanda
Voglio chiudere un popup Shadowbox quando l'utente fa clic su un pulsante. Il pop-up sta mostrando una pagina separata in un iframe. Questo funziona bene con un evento client-side sul controllo pulsante, per esempio Annulla.
OnClientClick="javascript:parent.Shadowbox.close();"
Il pulsante Ok, tuttavia, ha un evento lato server, in quanto i dati devono essere salvati. Quando ho definire sia un OnClick e il gestore OnClientClick dall'alto, l'IFrame è chiuso e il gestore di eventi sul lato server non si attiva mai.
Ho provato a rimuovere il gestore di eventi OnClientClick dal markup e di utilizzare il ClientScriptManager per raggiungere questo obiettivo, come in
Page.ClientScript.RegisterStartupScript(this.GetType(),
"Close", "parent.Shadowbox.close();", true);
A quanto pare perché i pulsanti sono in un UpdatePanel, lo script non ottenere registrato, e non appare nel flusso Reponse. L'iPanel rimane aperto.
Come posso fare questo?
Soluzione
Quando si sta utilizzando i comandi MS AJAX, è necessario registrarsi i propri script con il ScriptManager
, non ClientScript
.