2017-02-19 2 views
0

Mein Problem verwenden ist, nachdem ich eine Schaltfläche in Update-Panel klicken und das Fenster „beforeunload“ Ereignis nicht ausgelöst schließen, während, wenn ich richtig eine andere Taste dieses Ereignis ausgelöst wird klicken. Hier ist mein Code:javascript „beforeunload“ Ereignis nicht ausgelöst, wenn ich Update-Panel

function dontlogout() //for postback refreshes 
{ 
    postback = true; 
    alert(postback); 
} 
$(window).bind('beforeunload',function() { 

    if(postback==false) 
    { 
     //my logout code here; 

    } 

    else 
    { 
     postback = false; 
    } 
    }); 
<asp:Button runat="server" ID="cmdOut" OnClientClick="dontlogout();" Text="next" OnClick="cmdOut_Click"></asp:Button> 

<asp:UpdatePanel runat="server" ID="updQuestion" > 
    <ContentTemplate>       
<asp:Button runat="server" ID="cmdNext" OnClientClick="dontlogout();"  Text="next" OnClick="cmdNext_Click"></asp:Button> 

</ContentTemplate></asp:UpdatePanel> 

wenn ich CMDOUT Taste kein Problem und wenn schließen Browser abmelden Code ausgeführt meinen, aber wenn ich cmdNext Panel-Update klicken und schließen Sie dann den Browser mein Abmelde Code nicht ausgeführt.
Wie kann ich dieses Problem lösen?

+0

Mögliche Duplikat [window.onbeforeunload nicht arbeiten] (http://StackOverflow.com/Questions/7255649/window-onbeforeunload-not-working) –

Antwort

0

Sie in der Callback-Funktion zurückkehren von onbeforeunload

$(window).bind('beforeunload',function() { 

    if(postback==false) 
    { 
     //my logout code here; 

     // Ok you can leave because you dont return 
    } 

    else 
    { 
     postback = false; 
     return "You cannot leave"; // You cannot leave 
    } 
    }); 
+0

von ihr bestätigen Fenster zeigt aber mein Problem nicht gelöst – saeid6366

0

Tag hinzufügen 'Trigger' kurz vor dem End-Tag des Update-Panel

<asp:UpdatePanel runat="server" ID="updQuestion" > 
    <ContentTemplate>       
<asp:Button runat="server" ID="cmdNext" OnClientClick="dontlogout();"  Text="next" OnClick="cmdNext_Click"></asp:Button> 

</ContentTemplate> 
<Triggers> 
     <asp:PostBackTrigger ControlID="cmdNext" /> 
    </Triggers> 
</asp:UpdatePanel> 
Verwandte Themen