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”);
}
}
fonte
2012-05-03 08:59:39
Questo è bello. – DFTR