Con l'avvento di ASP.NET 2.0 verranno introdotte molte nuove funzionalità, tra le quali il Client Callback, ossia la possibilità di richiamare un metodo lato server attraverso un codice Javascript (quindi lato client) senza effettuare il postback della pagina.
In .NET 1.1 questo era possibile utilizzando i delegates, come spiegato da Cristian Civiera nello script #440 - Effettuare chiamate asincrone con i delegates di .NET
Con ASP.NET 2.0 questo è possibile grazie alla nuova interfaccia ICallBackEventHandler e al nuovo metodo Page.GetCallbackEventReference.
In questo script vedremo come recuperare la data e l'ora del server e visualizzarla su un alert Javascript:
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
<script runat="server">
' ICallbackEventHandler
Protected Function RaiseCallbackEvent(ByVal arg As String) As String Implements ICallbackEventHandler.RaiseCallbackEvent
return DateTime.Now.ToString()
End Function
Public _return as string
'Override di Page_OnLoad
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
If Not IsPostBack Then
' __CallbackHandler è la funzione JS da richiamare
' __CallbackError è la funzione JS in caso di errore
_return = Me.ClientScript.GetCallbackEventReference(Me, "myClientSideVar", "__CallbackHandler", Nothing, "__CallbackError")
End If
End Sub
</script>
<html>
<script language="javascript"><!--
function GetServerTime()
{
var myClientSideVar = ''; <%=_return%>}
function __CallbackHandler(result, context) {
alert('Data e ora del server:\n' + result);
}
function __CallbackError(message, context) {
alert('Errore:\n' + message);
}
//--></script>
</head><body>
<form id="form1" runat="server">
<input type="button" value="Ora Server" onclick="GetServerTime();" />
</form>
</body></html>
Per approfondimenti su ASP.NET 2.0 si veda
http://aspdotnet2.aspitalia.com/
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Per inserire un commento, devi registrarti alla nostra community.








Stampa
Snippet
Download 



