2010-06-04 19 views
10

¿Hay una explicación simple en MSDN de la función WebForm_DoCallback?Definición de WebForm_DoCallback

Todo lo que puedo encontrar es este artículo http://msdn.microsoft.com/en-us/magazine/cc163878.aspx que incluye la implementación de WebForm_DoCallback pero no hace un buen trabajo explicando los parámetros en sí.

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

¿Qué es exactamente lo que se espera como 'eventTarget'? ¿Qué es 'contexto'? Etc ...

Respuesta

10

WebForm_DoCallback parece ser la contraparte del lado del cliente de GetCallbackEventReference. Se genera con los mismos argumentos, que son los siguientes:

objetivo: El nombre de un control de servidor que gestiona el cliente de devolución de llamada. El control debe implementar la interfaz ICallbackEventHandler y proporcionar un método RaiseCallbackEvent .

argumento: argumento pasado del script del cliente al servidor método RaiseCallbackEvent.

clienteCallback: El nombre del controlador de eventos del cliente que recibe el resultado del evento del servidor exitoso.

contexto: script de cliente que se evalúa en el cliente antes de iniciando la devolución de llamada. El resultado de la secuencia de comandos se devuelve al controlador de eventos del cliente .

clientErrorCallback: El nombre del controlador de eventos del cliente que recibe el resultado cuando se produce un error en el controlador de eventos servidor.

useAsync: true para realizar la devolución de llamada de forma asíncrona; falso para realizar la devolución de llamada sincrónicamente.

clientCallback y clientErrorCallback son del lado del cliente (por lo general javascript) funciones con argumentos en la forma:

function clientCallback(returnmessage, context) {} 

Dónde returnmessage es la respuesta del servidor (o error) y contexto es lo mismo que el contexto pasado previamente.

Referencias:

MSDN: ClientScriptManager.GetCallbackEventReference Method

MSDN Magazine: Implications of Script Callbacks in ASP.NET

ESRI Developer Network: Page Postbacks and Client Callbacks

0

¿En qué contexto necesita usar esto? La cadena se genera mediante la siguiente llamada a método en ClientScriptManager: http://msdn.microsoft.com/en-us/library/ms153110%28v=VS.100%29.aspx

Usando esto es lo que puede usar para producir la declaración anterior, sin tener que conocer los detalles.

HTH.

+0

En realidad estoy invocando esta función en el lado del cliente WebForm_DoCallback (...) entonces estoy suministrando todos los parámetros. De ahí la pregunta. –

+0

Entiendo. Lo siento, busqué recursos para el método del cliente pero no encontré ninguno bueno. Mientras tanto, para solucionarlo, puede generar la llamada al método en el servidor y pasarla al cliente, y usar algo como eval() para evaluarlo. –

5

podemos ver algo así-

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

en el archivo de recursos de la página. parece que el 'parámetro' es un tipo de valor (cadena), mientras que el contexto es un tipo de referencia. de todos modos, el "contexto" rara vez se utiliza. el "Parámetro" solo podría ser una cadena, por lo que puede necesitar combinar varios valores y luego separarlo en el servidor. mientras que los datos se transmiten al extremo del servidor, se llamará la clase relativa (como una subclase de interfaz 'ICallbackEventHandler') instantáneo será creado, y el método de control:

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

después de que otro método sigue y devolver una cadena de vuelta en la respuesta ..

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

finalmente el proceso asíncrono plantea la función de devolución de llamada ("devolución de llamada" en este caso), que debe tiene 2 parametros de entrada:

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

y así es como funciona sin embargo no sé donde se define la función javascript "WebForm_DoCallback", por lo que no puede trabajar en los equipos que no sean Windows.