2010-06-04 7 views
10

Esiste una spiegazione semplice su MSDN della funzione WebForm_DoCallback?Definizione WebForm_DoCallback

Tutto quello che posso trovare è questo articolo http://msdn.microsoft.com/en-us/magazine/cc163878.aspx che include l'implementazione di WebForm_DoCallback ma non fa un buon lavoro spiegando i parametri stessi.

function WebForm_DoCallback(eventTarget, eventArgument, 
eventCallback, context, errorCallback) 

Come cosa si aspetta esattamente come un "eventTarget"? Che cos'è il "contesto"? Etc ...

risposta

10

WebForm_DoCallback sembra essere la controparte lato client di GetCallbackEventReference. E 'generato con gli stessi argomenti, che sono i seguenti:

obiettivo: Il nome di un controllo server che gestisce il client callback. Il controllo deve implementare l'interfaccia ICallbackEventHandler e fornire un metodo RaiseCallbackEvent .

argomento: argomento passato dallo script client al server metodo RaiseCallbackEvent.

clientCallback: il nome del gestore eventi client che riceve il risultato dell'evento server riuscito.

contesto: script client che viene valutato sul client prima di iniziando il callback. Il risultato di lo script viene passato al gestore di eventi del client .

clientErrorCallback: Il nome del gestore di eventi client che riceve il risultato quando si verifica un errore nel gestore di eventi server.

useAsync: true per eseguire la richiamata in modo asincrono; false su esegue la richiamata in modo sincrono.

clientCallback e clientErrorCallback sono sul lato client (di solito JavaScript) funzioni con argomenti in forma:

function clientCallback(returnmessage, context) {} 

Dove returnmessage è la risposta data dal server (o errore) e contesto è lo stesso del contesto passato in precedenza.

Riferimenti:

MSDN: ClientScriptManager.GetCallbackEventReference Method

MSDN Magazine: Implications of Script Callbacks in ASP.NET

ESRI Developer Network: Page Postbacks and Client Callbacks

0

A che contesto è necessario utilizzare questo? La stringa viene generata dalla seguente chiamata di metodo in ClientScriptManager: http://msdn.microsoft.com/en-us/library/ms153110%28v=VS.100%29.aspx

Utilizzare questo è ciò che è possibile utilizzare per produrre l'istruzione precedente, senza dover conoscere i dettagli.

HTH.

+0

In realtà sto invocando questa funzione sul lato client WebForm_DoCallback (...) quindi sto fornendo tutti i parametri. Da qui la domanda. –

+0

Capisco. Scusa, ho cercato le risorse per il metodo client ma non ne ho trovato di valide. Nel frattempo, per ovviare a questo, è possibile generare la chiamata al metodo sul server e passare al client e utilizzare qualcosa come eval() per valutarlo. –

5

possiamo vedere qualcosa di simile questo--

WebForm_DoCallback('__Page',parameter,callBack,context,null,false); 

nel file di risorse della pagina. sembra che il 'parametro' sia un tipo di valore (stringa), mentre il contesto è un tipo di riferimento. comunque il "contesto" è usato raramente. il "Parametro" potrebbe essere solo una stringa, quindi potrebbe essere necessario combinare diversi valori in esso e quindi separarlo sul server. mentre i dati vengono trasmessi alla fine del server, si chiamerà la classe relativa (come una sottoclasse di un'interfaccia 'ICallbackEventHandler') verrà creato istante, e il metodo del gestore:

public void RaiseCallbackEvent(string eventArgument) 
{ 
    //deal with the eventArgument(the "parameter")   
} 

dopo che un altro metodo va avanti e tornare indietro una stringa nella risposta ..

public string GetCallbackResult() 
{ 
    //return command; 
} 

finalmente il processo asincrono solleva la funzione di callback ("callBack" in questo caso), che dovrebbe ha 2 params ingresso:

function callBack(returnedStuff, context) {......} 

ed è così che funziona però io non so dove si definisce la funzione javascript "WebForm_DoCallback", in modo che non può funzionare sui computer non Windows.