31 messaggi dal 08 aprile 2006
Ciao a tutti avrei la necessità di intercettare la chiusra di un popup tramite il tasto x ho prvato utilizzando:

private void form1_Closing(object sender, EventArgs e)
{
string script = String.Format("window.opener.location.href='V2STForm.aspx?ST=updateF&idST={0}';window.close();", Request["idST"].ToString());
ClientScript.RegisterStartupScript(this.GetType(), "chiudi", script, true);
}

ma non funziona qualcuno saprebbe aiutarmi?

Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
puoi intercettare la chiusura del popup con del codice javascript, gestendo l'evento beforeunload.

Non puoi fare questa cosa lato server perché la chiusura di una pagina non scatena alcun postback e quindi non solleva nessun evento lato server. Il codice che hai trovato è probabilmente per un'applicazione Winforms, non per Asp.Net.

Tornando alla soluzione, aggiungi alla tua pagina il pezzo di codice javascript evidenziato in questa demo.
http://www.4guysfromrolla.com/demos/OnBeforeUnloadDemo1.htm

ciao

Enjoy learning and just keep making
31 messaggi dal 08 aprile 2006
Grazie ma come faccio a richiamare la mia pagina posso usare il window.opener o c'è modo di farlo lato server? se si in quale evento?
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
cosa intendi per "richiamare la mia pagina", devi eseguire del codice lato server? L'oggetto javascript window.opener, quando viene usato dalla popup, identifica la finestra "genitore", cioè quella da cui è partito il comando di aprire la popup. Ma si tratta di un oggetto javascript, da esso non puoi accedere a controlli e funzioni che hai definito lato server.

Spiega il risultato finale che vuoi ottenere, sarà più facile aiutarti.
ciao

Enjoy learning and just keep making
31 messaggi dal 08 aprile 2006
vorrei tornare alla pagina chiamante e per fare quello devo usare
window.opener.location.href='V2STForm.aspx?ST=updateF&idST={0}Request["idST"].ToString()); passando in reqest dei parametri che utilizzo nella pagina padre ma da javascript la variabile id_St non la ho almeno di non metterla in un hidden
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

monello206 ha scritto:

almeno di non metterla in un hidden

beh, non è una cattiva idea. Così è subito disponibile da usare.
Un altro sistema è quello di passarla alla popup. Nell'istruzione javascript window.open, che usi per aprire la popup, integra l'url con la variabile che ti servirà in seguito.
window.open("pagina_popup.aspx?idST=<%= valore_di_idST %>")


Dato che la variabile si trova nell'URL della popup, sarà facile recuperarla da lì, o usando lato server il Request.QueryString["idST"] per stamparne in valore in mezzo a questa riga:
window.opener.location.href='V2STForm.aspx?ST=updateF&idST=<%= Request["idST"].ToString() %>'

oppure puoi farlo con il javascript, che può esso stesso leggere le variabili in querystring dall'oggetto window.location.search.

ciao
Modificato da BrightSoul il 09 febbraio 2013 16.15 -

Enjoy learning and just keep making
31 messaggi dal 08 aprile 2006
ho fatto proprio cosi :) grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.