2010-06-06 14 views

risposta

1

testato

<script type="text/javascript"> 
    var app = Sys.Application; 
    app.add_init(ApplicationInit); 

    function ApplicationInit(sender) { 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    if (!prm.get_isInAsyncPostBack()) 
    { 
     prm.add_pageLoaded(PageLoaded); 
    } 
    } 

    function PageLoaded(sender, args) { 
    //Do something 
    } 

</script> 
21

Questo è il modo per ottenere l'Event fine, dopo l'aggiornamento.

<script type="text/javascript"> 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_endRequest(EndRequest); 

    function EndRequest(sender, args) { 
    } 
</script> 
+6

Questo è bello. – DFTR

1

Se si sta utilizzando AJAX allora l'unico modo che ho trovato ancora dare un avviso per un utente su ritorno al post asincrono di nuovo è quello di aggiungere una “richiesta end” gestore per il PageRequestManager.

In questo modo è possibile indicare al gestore richieste di eseguire una funzione javascript al ritorno da un evento postback asincrono di AJAX.

codice per fare questo è:

function load() 

{ 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
} 

dove “EndRequestHandler” sarà il nome della funzione javascript che si desidera chiamare. Chiamare la funzione di cui sopra in Onload caso di tag:

<body onload=”load()”> 

function EndRequestHandler() 

{ 

      alert(“You record has been saved successfully”); 

} 

Ora, se si vuole dare un messaggio diverso in base alla logica nel codice lato server (codice dietro), allora è possibile utilizzare un lato server Campo nascosto:

<input id=”hdnValue” type=”hidden” runat=”server” value=”" /> 

impostare il suo valore nel codice lato server sul asincrono Tornare:

secondario protettivo btn_Click (ByVal sender As Object, ByVal e come System.EventArgs) tratta btnCreateSample.Click

If condition Then 

    hdnValue.value = “do this” 

    Else  

    hdnValue.value = “do that” 

    End If 

End Sub 

Ora è possibile controllare il valore di questo campo nascosto nella vostra funzione EndRequestHandler lato client e dare un avviso diverso per l'utente in base al suo valore:

function EndRequestHandler() 
{ 
    if (document.getElementById(‘<%= hdnValue.ClientID %>’).value == “do this”) 

    { 
      alert(“You record has been saved successfully”); 
    } 
    else 
    { 
      alert(“There is an error”); 
    } 
} 
0

è possibile utilizzare sotto codice con se si utilizza jQuery

Questo per dimostrare messaggio salvato e nascondere quel messaggio dopo 5 secondi dopo pannello di aggiornamento viene aggiornato

function pageLoad() { 
      window.Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
     } 
     function EndRequestHandler() 
     { 
      window.setTimeout(function() { 
       var label = window.$get('<%= lblMsg.ClientID%>'); 
       if (label != null) { label.style.display = 'none'; } 
      }, 5000); 
     } 
Problemi correlati