384 messaggi dal 26 agosto 2007
Ciao a tutti,
ho una pagina ASP.NET dove ho inserito nell'head questo codice jQuery
$(window).bind("beforeunload", function () {
            return "Confermi di uscire dalla pagina?";
        });

Ho però alcuni bottoni all'interno della pagina che mi scatenano un postback e dove però non voglio che mi appaia la richiesta del browser di conferma uscita dalla pagina. Ho quindi inserito nell'evento OnClientClick del bottone
<asp:Button ID="btnEdit" runat="server" Text="Modifica" OnClientClick="$(window).unbind('beforeunload');" OnClick="btnEdit_Click" />

La mia domanda è questa: avendo fatto l'unbind dell'evento beforeunload dall'oggetto window, perchè se clicco ad esempio sul tasto Indietro del browser continua ad apparirmi il messaggio di conferma? L'evento non era stato rimosso con il precedente unbind?

Grazie a tutti per l'aiuto!

Lunga vita e prosperità!!
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


L'evento non era stato rimosso con il precedente unbind?

Certamente ma, quando hai navigato verso un'altra destinazione, il browser ha ormai scaricato la pagina dalla memoria e quindi non tiene traccia del suo stato.
Quando torni indietro, il browser ricreerà la pagina daccapo come se si trattasse della prima visita, riempiendo giusto le caselle di input con i precedenti valori digitati dall'utente.

ciao,
Moreno

Enjoy learning and just keep making
384 messaggi dal 26 agosto 2007
Grazie 1000!!

Lunga vita e prosperità!!

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.