ClientScriptManager.GetCallbackEventReference ClientScriptManager.GetCallbackEventReference ClientScriptManager.GetCallbackEventReference ClientScriptManager.GetCallbackEventReference Method

Definición

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a un evento de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to a server event.

Sobrecargas

GetCallbackEventReference(Control, String, String, String) GetCallbackEventReference(Control, String, String, String) GetCallbackEventReference(Control, String, String, String)

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a un evento de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to a server event. La función de cliente para este método sobrecargado incluye un control, un argumento, un script de cliente y un contexto especificados.The client function for this overloaded method includes a specified control, argument, client script, and context.

GetCallbackEventReference(Control, String, String, String, Boolean) GetCallbackEventReference(Control, String, String, String, Boolean) GetCallbackEventReference(Control, String, String, String, Boolean)

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a los eventos de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to server events. La función de cliente para este método sobrecargado incluye un control, un argumento, un script de cliente, un contexto y un valor booleano especificados.The client function for this overloaded method includes a specified control, argument, client script, context, and Boolean value.

GetCallbackEventReference(String, String, String, String, String, Boolean) GetCallbackEventReference(String, String, String, String, String, Boolean) GetCallbackEventReference(String, String, String, String, String, Boolean) GetCallbackEventReference(String, String, String, String, String, Boolean)

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a los eventos de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to server events. La función de cliente para este método sobrecargado incluye un destino, un argumento, un script de cliente, un contexto, un controlador de errores y un valor booleano especificados.The client function for this overloaded method includes a specified target, argument, client script, context, error handler, and Boolean value.

GetCallbackEventReference(Control, String, String, String, String, Boolean) GetCallbackEventReference(Control, String, String, String, String, Boolean) GetCallbackEventReference(Control, String, String, String, String, Boolean)

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a los eventos de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to server events. La función de cliente para este método sobrecargado incluye un control, un argumento, un script de cliente, un contexto, un controlador de errores y un valor booleano especificados.The client function for this overloaded method includes a specified control, argument, client script, context, error handler, and Boolean value.

GetCallbackEventReference(Control, String, String, String) GetCallbackEventReference(Control, String, String, String) GetCallbackEventReference(Control, String, String, String)

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a un evento de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to a server event. La función de cliente para este método sobrecargado incluye un control, un argumento, un script de cliente y un contexto especificados.The client function for this overloaded method includes a specified control, argument, client script, and context.

public:
 System::String ^ GetCallbackEventReference(System::Web::UI::Control ^ control, System::String ^ argument, System::String ^ clientCallback, System::String ^ context);
public string GetCallbackEventReference (System.Web.UI.Control control, string argument, string clientCallback, string context);
member this.GetCallbackEventReference : System.Web.UI.Control * string * string * string -> string

Parámetros

control
Control Control Control Control

Objeto Control de servidor que controla la devolución de llamada de cliente.The server Control that handles the client callback. El control debe implementar la interfaz ICallbackEventHandler y proporcionar un método RaiseCallbackEvent(String).The control must implement the ICallbackEventHandler interface and provide a RaiseCallbackEvent(String) method.

argument
String String String String

Argumento pasado desde el script de cliente al de servidorAn argument passed from the client script to the server Método RaiseCallbackEvent(String).RaiseCallbackEvent(String) method.

clientCallback
String String String String

Nombre del controlador de eventos de cliente que recibe el resultado de un evento de servidor correcto.The name of the client event handler that receives the result of the successful server event.

context
String String String String

El script de cliente que se evalúa en el cliente antes de iniciar la devolución de llamada.The client script that is evaluated on the client prior to initiating the callback. El resultado del script se devuelve al controlador de eventos de cliente.The result of the script is passed back to the client event handler.

Devoluciones

El nombre de una función de cliente que invoca la devolución de llamada de cliente.The name of a client function that invokes the client callback.

Excepciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar dos sobrecargas GetCallbackEventReference del método en un escenario de devolución de llamada de cliente que incrementa los enteros.The following code example demonstrates how to use two overloads of the GetCallbackEventReference method in a client callback scenario that increments integers.

Se muestran dos mecanismos de devolución de llamada; la diferencia entre ellos es el uso del context parámetro.Two callback mechanisms are shown; the difference between them is the use of the context parameter. Se ReceiveServerData1 proporciona una función de devolución de llamada context de cliente mediante el parámetro.A ReceiveServerData1 client callback function is provided using the context parameter. En cambio, la ReceiveServerData2 función de devolución de llamada de cliente <script> se define en un bloque de la página.In contrast, the ReceiveServerData2 client callback function is defined in a <script> block on the page. Un RaiseCallbackEvent método es el controlador de servidor que incrementa el valor que se le pasa y el GetCallbackResult método devuelve el valor incrementado como una cadena.A RaiseCallbackEvent method is the server handler that increments the value that is passed to it and the GetCallbackResult method returns the incremented value as a string. Si el RaiseCallbackEvent método devuelve un error, se llama ProcessCallBackError a la función de cliente.If the RaiseCallbackEvent method returns an error, then the ProcessCallBackError client function is called.

<%@ Page Language="C#" %>
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    
    public int cbCount = 0;
    
    // Define method that processes the callbacks on server.
    public void RaiseCallbackEvent(String eventArgument)
    {
        cbCount = Convert.ToInt32(eventArgument) + 1;
    }

    // Define method that returns callback result.
    public string GetCallbackResult()
    {
        return cbCount.ToString();
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        // Define a StringBuilder to hold messages to output.
        StringBuilder sb = new StringBuilder();

        // Check if this is a postback.
        sb.Append("No page postbacks have occurred.");
        if (Page.IsPostBack)
        {
            sb.Append("A page postback has occurred.");
        }

        // Write out any messages.
        MyLabel.Text = sb.ToString();

        // Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;

        // Define one of the callback script's context.
        // The callback script will be defined in a script block on the page.
        StringBuilder context1 = new StringBuilder();
        context1.Append("function ReceiveServerData1(arg, context)");
        context1.Append("{");
        context1.Append("Message1.innerText =  arg;");
        context1.Append("value1 = arg;");
        context1.Append("}");

        // Define callback references.
        String cbReference1 = cs.GetCallbackEventReference(this, "arg", 
            "ReceiveServerData1", context1.ToString());
        String cbReference2 = cs.GetCallbackEventReference("'" + 
            Page.UniqueID + "'", "arg", "ReceiveServerData2", "", 
            "ProcessCallBackError", false);
        String callbackScript1 = "function CallTheServer1(arg, context) {" + 
            cbReference1 + "; }";
        String callbackScript2 = "function CallTheServer2(arg, context) {" + 
            cbReference2 + "; }";

        // Register script blocks will perform call to the server.
        cs.RegisterClientScriptBlock(this.GetType(), "CallTheServer1", 
            callbackScript1, true);
        cs.RegisterClientScriptBlock(this.GetType(), "CallTheServer2", 
            callbackScript2, true);

    }
</script>

<script type="text/javascript">
var value1 = 0;
var value2 = 0;
function ReceiveServerData2(arg, context)
{
    Message2.innerText = arg;
    value2 = arg;
}
function ProcessCallBackError(arg, context)
{
    Message2.innerText = 'An error has occurred.';
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ClientScriptManager Example</title>
</head>
<body>
    <form id="Form1" 
          runat="server">
    <div>
      Callback 1 result: <span id="Message1">0</span>
      <br />
      Callback 2 result: <span id="Message2">0</span>
      <br /> <br />
      <input type="button" 
             value="ClientCallBack1" 
             onclick="CallTheServer1(value1, alert('Increment value'))"/>    
      <input type="button" 
             value="ClientCallBack2" 
             onclick="CallTheServer2(value2, alert('Increment value'))"/>
      <br /> <br />
      <asp:Label id="MyLabel" 
                 runat="server"></asp:Label>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  
    Public cbCount As Integer = 0
    
    ' Define method that processes the callbacks on server.
    Public Sub RaiseCallbackEvent(ByVal eventArgument As String) _
    Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent
        
        cbCount = Convert.ToInt32(eventArgument) + 1
        
    End Sub

    ' Define method that returns callback result.
    Public Function GetCallbackResult() _
    As String Implements _
    System.Web.UI.ICallbackEventHandler.GetCallbackResult

        Return cbCount.ToString()
        
    End Function
    
    
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    
        ' Define a StringBuilder to hold messages to output.
        Dim sb As New StringBuilder()
    
        ' Check if this is a postback.
        sb.Append("No page postbacks have occurred.")
        If (Page.IsPostBack) Then
      
            sb.Append("A page postback has occurred.")
      
        End If
    
        ' Write out any messages.
        MyLabel.Text = sb.ToString()
    
        ' Get a ClientScriptManager reference from the Page class.
        Dim cs As ClientScriptManager = Page.ClientScript

        ' Define one of the callback script's context.
        ' The callback script will be defined in a script block on the page.
        Dim context1 As New StringBuilder()
        context1.Append("function ReceiveServerData1(arg, context)")
        context1.Append("{")
        context1.Append("Message1.innerText =  arg;")
        context1.Append("value1 = arg;")
        context1.Append("}")
    
        ' Define callback references.
        Dim cbReference1 As String = cs.GetCallbackEventReference(Me, "arg", _
            "ReceiveServerData1", context1.ToString())
        Dim cbReference2 As String = cs.GetCallbackEventReference("'" & _
            Page.UniqueID & "'", "arg", "ReceiveServerData2", "", "ProcessCallBackError", False)
        Dim callbackScript1 As String = "function CallTheServer1(arg, context) {" + _
            cbReference1 + "; }"
        Dim callbackScript2 As String = "function CallTheServer2(arg, context) {" + _
            cbReference2 + "; }"
    
        ' Register script blocks will perform call to the server.
        cs.RegisterClientScriptBlock(Me.GetType(), "CallTheServer1", _
            callbackScript1, True)
        cs.RegisterClientScriptBlock(Me.GetType(), "CallTheServer2", _
            callbackScript2, True)
    
    End Sub
</script>

<script type="text/javascript">
var value1 = 0;
var value2 = 0;
function ReceiveServerData2(arg, context)
{
    Message2.innerText = arg;
    value2 = arg;
}
function ProcessCallBackError(arg, context)
{
    Message2.innerText = 'An error has occurred.';
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ClientScriptManager Example</title>
</head>
<body>
    <form id="Form1" 
          runat="server">
    <div>
      Callback 1 result: <span id="Message1">0</span>
      <br />
      Callback 2 result: <span id="Message2">0</span>
      <br /> <br />
      <input type="button" 
             value="ClientCallBack1" 
             onclick="CallTheServer1(value1, alert('Increment value'))"/>    
      <input type="button" 
             value="ClientCallBack2" 
             onclick="CallTheServer2(value2, alert('Increment value'))"/>
      <br /> <br />
      <asp:Label id="MyLabel" 
                 runat="server"></asp:Label>
    </div>
    </form>
</body>
</html>

Comentarios

El GetCallbackEventReference(Control, String, String, String) método realiza una devolución de llamada fuera de banda al servidor que es una versión modificada del ciclo de vida normal de una página.The GetCallbackEventReference(Control, String, String, String) method performs an out-of-band callback to the server that is a modified version of a page's normal life cycle. Para obtener más información, vea implementar devoluciones de llamada de cliente sindevoluciones.For more information, see Implementing Client Callbacks Without Postbacks.

Nota

Cuando el explorador es Microsoft Internet Explorer (versión 5,0 o posterior), el mecanismo de devolución de llamada del script se implementa a través del objeto COM Microsoft. XmlHttp y requiere que el explorador se establezca para ejecutar controles ActiveX.When the browser is Microsoft Internet Explorer (version 5.0 or later), the script callback mechanism is implemented through the Microsoft.XmlHttp COM object and requires the browser to be set to run ActiveX controls. En el caso de otros exploradores, se usa un objeto XMLHttpRequest mediante el Document Object Model local del explorador (DOM).For other browsers, an XMLHttpRequest using the browser's local Document Object Model (DOM) is used. Para comprobar si un explorador admite devoluciones de llamada de SupportsCallback cliente, use la propiedad.To check whether a browser supports client callbacks, use the SupportsCallback property. Para comprobar si un explorador admite XML sobre http, utilice la SupportsXmlHttp propiedad.To check whether a browser supports XML over HTTP, use the SupportsXmlHttp property. Ambas propiedades son accesibles a través Browser de la propiedad del objeto Request intrínseco ASP.net.Both properties are accessible through the Browser property of the intrinsic ASP.NET Request object.

La GetCallbackEventReference sobrecargaGetCallbackEventReference del método realiza una devolución de llamada sincrónicamente mediante XML sobre http.The GetCallbackEventReference overload of the GetCallbackEventReference method performs a callback synchronously using XML over HTTP. Al enviar datos de forma sincrónica en un escenario de devolución de llamada, las devoluciones de llamada sincrónicas se devuelven inmediatamente y no bloquean el explorador.When sending data synchronously in a callback scenario, synchronous callbacks return immediately and do not block the browser. No se pueden ejecutar al mismo tiempo dos devoluciones de llamada sincrónicas en el explorador.No two synchronous callbacks callback can execute at the same time in the browser. Si se activa una segunda devolución de llamada sincrónica mientras está pendiente actualmente, la segunda devolución de llamada sincrónica cancela la primera y solo devolverá la segunda devolución de llamada.If a second synchronous callback is fired while one is currently pending, the second synchronous callback cancels the first and only the second callback will return.

Para enviar datos de forma asincrónica, utilice una de las sobrecargas que useAsync toma el parámetro, que es un valor booleano que controla este comportamiento.To send data asynchronously, use one of the overloads that takes the useAsync parameter, which is a Boolean value controlling this behavior. En el escenario asincrónico puede tener varias devoluciones de llamada pendientes; sin embargo, no se garantiza que el orden en el que se devuelven coincida con el orden en el que se iniciaron.In the asynchronous scenario you can have multiple pending callbacks; however, the order in which they return is not guaranteed to match the order in which they were initiated.

Además, esta sobrecarga del GetCallbackEventReference método no especifica ninguna función de cliente para controlar el caso de una condición de error generada por el RaiseCallbackEvent método.Additionally, this overload of the GetCallbackEventReference method specifies no client function to handle the case of an error condition generated by the RaiseCallbackEvent method. Para especificar un controlador de devolución de llamada de error de cliente, use una de las sobrecargas que toma el clientErrorCallback parámetro.To specify a client error callback handler, use one of the overloads that takes the clientErrorCallback parameter.

El GetCallbackEventReference(Control, String, String, String) método toma un parámetro de argument cadena opcional y devuelve una cadena.The GetCallbackEventReference(Control, String, String, String) method takes an optional string argument parameter and returns a string. Para pasar o recibir varios valores, concatene los valores de la cadena de entrada o de devolución, respectivamente.To pass in or to receive multiple values, concatenate values in the input or return string, respectively.

Nota

Evite utilizar el estado de vista en la implementación de las propiedades de página o control que deben actualizarse durante las operaciones de devolución de llamada del script.Avoid using the view state in the implementation of page or control properties that need be updated during script callback operations. Si las propiedades van a sobrevivir a las solicitudes de página, puede usar el estado de sesión.If the properties are to survive page requests, you can use session state.

Consulte también:

GetCallbackEventReference(Control, String, String, String, Boolean) GetCallbackEventReference(Control, String, String, String, Boolean) GetCallbackEventReference(Control, String, String, String, Boolean)

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a los eventos de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to server events. La función de cliente para este método sobrecargado incluye un control, un argumento, un script de cliente, un contexto y un valor booleano especificados.The client function for this overloaded method includes a specified control, argument, client script, context, and Boolean value.

public:
 System::String ^ GetCallbackEventReference(System::Web::UI::Control ^ control, System::String ^ argument, System::String ^ clientCallback, System::String ^ context, bool useAsync);
public string GetCallbackEventReference (System.Web.UI.Control control, string argument, string clientCallback, string context, bool useAsync);
member this.GetCallbackEventReference : System.Web.UI.Control * string * string * string * bool -> string

Parámetros

control
Control Control Control Control

Objeto Control de servidor que controla la devolución de llamada de cliente.The server Control that handles the client callback. El control debe implementar la interfaz ICallbackEventHandler y proporcionar un método RaiseCallbackEvent(String).The control must implement the ICallbackEventHandler interface and provide a RaiseCallbackEvent(String) method.

argument
String String String String

Argumento pasado desde el script de cliente al de servidorAn argument passed from the client script to the server Método RaiseCallbackEvent(String).RaiseCallbackEvent(String) method.

clientCallback
String String String String

Nombre del controlador de eventos de cliente que recibe el resultado de un evento de servidor correcto.The name of the client event handler that receives the result of the successful server event.

context
String String String String

El script de cliente que se evalúa en el cliente antes de iniciar la devolución de llamada.The client script that is evaluated on the client prior to initiating the callback. El resultado del script se devuelve al controlador de eventos de cliente.The result of the script is passed back to the client event handler.

useAsync
Boolean Boolean Boolean Boolean

Es true para realizar la devolución de llamada de forma asincrónica; es false para realizar la devolución de llamada de forma sincrónica.true to perform the callback asynchronously; false to perform the callback synchronously.

Devoluciones

El nombre de una función de cliente que invoca la devolución de llamada de cliente.The name of a client function that invokes the client callback.

Excepciones

Comentarios

Esta sobrecarga del GetCallbackEventReference método requiere un useAsync parámetro, que permite realizar la devolución de llamada del cliente de forma asincrónica estableciendo el valor trueen.This overload of the GetCallbackEventReference method requires a useAsync parameter, which allows you to perform the client callback asynchronously by setting the value to true. Las versiones de sobrecarga de este método que no requieren el useAsync parámetro establecen el valor en false de forma predeterminada.The overload versions of this method that do not require the useAsync parameter set the value to false by default.

Para obtener más información sobre este método, vea los comentarios del método GetCallbackEventReference sobrecargado.For more information on this method, see the remarks for the overload GetCallbackEventReference method.

Consulte también:

GetCallbackEventReference(String, String, String, String, String, Boolean) GetCallbackEventReference(String, String, String, String, String, Boolean) GetCallbackEventReference(String, String, String, String, String, Boolean) GetCallbackEventReference(String, String, String, String, String, Boolean)

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a los eventos de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to server events. La función de cliente para este método sobrecargado incluye un destino, un argumento, un script de cliente, un contexto, un controlador de errores y un valor booleano especificados.The client function for this overloaded method includes a specified target, argument, client script, context, error handler, and Boolean value.

public:
 System::String ^ GetCallbackEventReference(System::String ^ target, System::String ^ argument, System::String ^ clientCallback, System::String ^ context, System::String ^ clientErrorCallback, bool useAsync);
public string GetCallbackEventReference (string target, string argument, string clientCallback, string context, string clientErrorCallback, bool useAsync);
member this.GetCallbackEventReference : string * string * string * string * string * bool -> string
Public Function GetCallbackEventReference (target As String, argument As String, clientCallback As String, context As String, clientErrorCallback As String, useAsync As Boolean) As String

Parámetros

target
String String String String

Nombre de un servidor Control que controla la devolución de llamada del cliente.The name of a server Control that handles the client callback. El control debe implementar la interfaz ICallbackEventHandler y proporcionar un método RaiseCallbackEvent(String).The control must implement the ICallbackEventHandler interface and provide a RaiseCallbackEvent(String) method.

argument
String String String String

Argumento pasado desde el script de cliente al de servidorAn argument passed from the client script to the server Método RaiseCallbackEvent(String).RaiseCallbackEvent(String) method.

clientCallback
String String String String

Nombre del controlador de eventos de cliente que recibe el resultado de un evento de servidor correcto.The name of the client event handler that receives the result of the successful server event.

context
String String String String

El script de cliente que se evalúa en el cliente antes de iniciar la devolución de llamada.The client script that is evaluated on the client prior to initiating the callback. El resultado del script se devuelve al controlador de eventos de cliente.The result of the script is passed back to the client event handler.

clientErrorCallback
String String String String

Nombre del controlador de eventos de cliente que recibe el resultado cuando se produce un error en el controlador de eventos de servidor.The name of the client event handler that receives the result when an error occurs in the server event handler.

useAsync
Boolean Boolean Boolean Boolean

Es true para realizar la devolución de llamada de forma asincrónica; es false para realizar la devolución de llamada de forma sincrónica.true to perform the callback asynchronously; false to perform the callback synchronously.

Devoluciones

El nombre de una función de cliente que invoca la devolución de llamada de cliente.The name of a client function that invokes the client callback.

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar dos sobrecargas GetCallbackEventReference del método en un escenario de devolución de llamada de cliente que incrementa los enteros.The following code example demonstrates how to use two overloads of the GetCallbackEventReference method in a client callback scenario that increments integers.

Se muestran dos mecanismos de devolución de llamada; la diferencia entre ellos es el uso del context parámetro.Two callback mechanisms are shown; the difference between them is the use of the context parameter. Se ReceiveServerData1 proporciona una función de devolución de llamada context de cliente mediante el parámetro.A ReceiveServerData1 client callback function is provided using the context parameter. En cambio, la ReceiveServerData2 función de devolución de llamada de cliente <script> se define en un bloque de la página.In contrast, the ReceiveServerData2 client callback function is defined in a <script> block on the page. Un RaiseCallbackEvent método es el controlador de servidor que incrementa el valor que se le pasa y el GetCallbackResult método devuelve el valor incrementado como una cadena.A RaiseCallbackEvent method is the server handler that increments the value that is passed to it and the GetCallbackResult method returns the incremented value as a string. Si el RaiseCallbackEvent método devuelve un error, se llama a la ProcessCallBackError función de cliente.If the RaiseCallbackEvent method returns an error, then the client function ProcessCallBackError is called.

<%@ Page Language="C#" %>
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    
    public int cbCount = 0;
    
    // Define method that processes the callbacks on server.
    public void RaiseCallbackEvent(String eventArgument)
    {
        cbCount = Convert.ToInt32(eventArgument) + 1;
    }

    // Define method that returns callback result.
    public string GetCallbackResult()
    {
        return cbCount.ToString();
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        // Define a StringBuilder to hold messages to output.
        StringBuilder sb = new StringBuilder();

        // Check if this is a postback.
        sb.Append("No page postbacks have occurred.");
        if (Page.IsPostBack)
        {
            sb.Append("A page postback has occurred.");
        }

        // Write out any messages.
        MyLabel.Text = sb.ToString();

        // Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;

        // Define one of the callback script's context.
        // The callback script will be defined in a script block on the page.
        StringBuilder context1 = new StringBuilder();
        context1.Append("function ReceiveServerData1(arg, context)");
        context1.Append("{");
        context1.Append("Message1.innerText =  arg;");
        context1.Append("value1 = arg;");
        context1.Append("}");

        // Define callback references.
        String cbReference1 = cs.GetCallbackEventReference(this, "arg", 
            "ReceiveServerData1", context1.ToString());
        String cbReference2 = cs.GetCallbackEventReference("'" + 
            Page.UniqueID + "'", "arg", "ReceiveServerData2", "", 
            "ProcessCallBackError", false);
        String callbackScript1 = "function CallTheServer1(arg, context) {" + 
            cbReference1 + "; }";
        String callbackScript2 = "function CallTheServer2(arg, context) {" + 
            cbReference2 + "; }";

        // Register script blocks will perform call to the server.
        cs.RegisterClientScriptBlock(this.GetType(), "CallTheServer1", 
            callbackScript1, true);
        cs.RegisterClientScriptBlock(this.GetType(), "CallTheServer2", 
            callbackScript2, true);

    }
</script>

<script type="text/javascript">
var value1 = 0;
var value2 = 0;
function ReceiveServerData2(arg, context)
{
    Message2.innerText = arg;
    value2 = arg;
}
function ProcessCallBackError(arg, context)
{
    Message2.innerText = 'An error has occurred.';
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ClientScriptManager Example</title>
</head>
<body>
    <form id="Form1" 
          runat="server">
    <div>
      Callback 1 result: <span id="Message1">0</span>
      <br />
      Callback 2 result: <span id="Message2">0</span>
      <br /> <br />
      <input type="button" 
             value="ClientCallBack1" 
             onclick="CallTheServer1(value1, alert('Increment value'))"/>    
      <input type="button" 
             value="ClientCallBack2" 
             onclick="CallTheServer2(value2, alert('Increment value'))"/>
      <br /> <br />
      <asp:Label id="MyLabel" 
                 runat="server"></asp:Label>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  
    Public cbCount As Integer = 0
    
    ' Define method that processes the callbacks on server.
    Public Sub RaiseCallbackEvent(ByVal eventArgument As String) _
    Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent
        
        cbCount = Convert.ToInt32(eventArgument) + 1
        
    End Sub

    ' Define method that returns callback result.
    Public Function GetCallbackResult() _
    As String Implements _
    System.Web.UI.ICallbackEventHandler.GetCallbackResult

        Return cbCount.ToString()
        
    End Function
    
    
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    
        ' Define a StringBuilder to hold messages to output.
        Dim sb As New StringBuilder()
    
        ' Check if this is a postback.
        sb.Append("No page postbacks have occurred.")
        If (Page.IsPostBack) Then
      
            sb.Append("A page postback has occurred.")
      
        End If
    
        ' Write out any messages.
        MyLabel.Text = sb.ToString()
    
        ' Get a ClientScriptManager reference from the Page class.
        Dim cs As ClientScriptManager = Page.ClientScript

        ' Define one of the callback script's context.
        ' The callback script will be defined in a script block on the page.
        Dim context1 As New StringBuilder()
        context1.Append("function ReceiveServerData1(arg, context)")
        context1.Append("{")
        context1.Append("Message1.innerText =  arg;")
        context1.Append("value1 = arg;")
        context1.Append("}")
    
        ' Define callback references.
        Dim cbReference1 As String = cs.GetCallbackEventReference(Me, "arg", _
            "ReceiveServerData1", context1.ToString())
        Dim cbReference2 As String = cs.GetCallbackEventReference("'" & _
            Page.UniqueID & "'", "arg", "ReceiveServerData2", "", "ProcessCallBackError", False)
        Dim callbackScript1 As String = "function CallTheServer1(arg, context) {" + _
            cbReference1 + "; }"
        Dim callbackScript2 As String = "function CallTheServer2(arg, context) {" + _
            cbReference2 + "; }"
    
        ' Register script blocks will perform call to the server.
        cs.RegisterClientScriptBlock(Me.GetType(), "CallTheServer1", _
            callbackScript1, True)
        cs.RegisterClientScriptBlock(Me.GetType(), "CallTheServer2", _
            callbackScript2, True)
    
    End Sub
</script>

<script type="text/javascript">
var value1 = 0;
var value2 = 0;
function ReceiveServerData2(arg, context)
{
    Message2.innerText = arg;
    value2 = arg;
}
function ProcessCallBackError(arg, context)
{
    Message2.innerText = 'An error has occurred.';
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ClientScriptManager Example</title>
</head>
<body>
    <form id="Form1" 
          runat="server">
    <div>
      Callback 1 result: <span id="Message1">0</span>
      <br />
      Callback 2 result: <span id="Message2">0</span>
      <br /> <br />
      <input type="button" 
             value="ClientCallBack1" 
             onclick="CallTheServer1(value1, alert('Increment value'))"/>    
      <input type="button" 
             value="ClientCallBack2" 
             onclick="CallTheServer2(value2, alert('Increment value'))"/>
      <br /> <br />
      <asp:Label id="MyLabel" 
                 runat="server"></asp:Label>
    </div>
    </form>
</body>
</html>

Comentarios

Esta sobrecarga del GetCallbackEventReference método toma un target parámetro de cadena en lugar de un Control parámetro.This overload of the GetCallbackEventReference method takes a target string parameter instead of a Control parameter. Utilice esta sobrecarga cuando desee que la devolución de llamada vuelva a un valor distinto de una cadena que UniqueID contenga el del control.Use this overload when you want the callback to go back to something other than a string containing the UniqueID of the control.

Además, esta sobrecarga del GetCallbackEventReference método requiere un useAsync clientErrorCallback parámetro y.Additionally, this overload of the GetCallbackEventReference method requires a useAsync and a clientErrorCallback parameter. El useAsync parámetro permite realizar la devolución de llamada del cliente de forma asincrónica estableciendo el truevalor en.The useAsync parameter allows you to perform the client callback asynchronously by setting the value to true. Las versiones de sobrecarga de este método que no requieren el useAsync parámetro establecen el valor en false de forma predeterminada.The overload versions of this method that do not require the useAsync parameter set the value to false by default. El clientErrorCallback parámetro permite definir el nombre de la función de cliente a la que se llama si el controlador de servidor RaiseCallbackEvent , el método, devuelve un error.The clientErrorCallback parameter allows you to define the name of the client function that is called if the server handler, the RaiseCallbackEvent method, returns an error. Las versiones de sobrecarga de este método que no requieren el clientErrorCallback parámetro establecen el valor en NULL.The overload versions of this method that do not require the clientErrorCallback parameter set the value to null.

Para obtener más información sobre este método, vea los comentarios del método GetCallbackEventReference sobrecargado.For more information on this method, see the remarks for the overload GetCallbackEventReference method.

Consulte también:

GetCallbackEventReference(Control, String, String, String, String, Boolean) GetCallbackEventReference(Control, String, String, String, String, Boolean) GetCallbackEventReference(Control, String, String, String, String, Boolean)

Obtiene una referencia a una función de cliente que, cuando se invoca, inicia una devolución de llamada del cliente a los eventos de servidor.Obtains a reference to a client function that, when invoked, initiates a client call back to server events. La función de cliente para este método sobrecargado incluye un control, un argumento, un script de cliente, un contexto, un controlador de errores y un valor booleano especificados.The client function for this overloaded method includes a specified control, argument, client script, context, error handler, and Boolean value.

public:
 System::String ^ GetCallbackEventReference(System::Web::UI::Control ^ control, System::String ^ argument, System::String ^ clientCallback, System::String ^ context, System::String ^ clientErrorCallback, bool useAsync);
public string GetCallbackEventReference (System.Web.UI.Control control, string argument, string clientCallback, string context, string clientErrorCallback, bool useAsync);
member this.GetCallbackEventReference : System.Web.UI.Control * string * string * string * string * bool -> string

Parámetros

control
Control Control Control Control

Objeto Control de servidor que controla la devolución de llamada de cliente.The server Control that handles the client callback. El control debe implementar la interfaz ICallbackEventHandler y proporcionar un método RaiseCallbackEvent(String).The control must implement the ICallbackEventHandler interface and provide a RaiseCallbackEvent(String) method.

argument
String String String String

Argumento pasado desde el script de cliente al método RaiseCallbackEvent(String) de servidorAn argument passed from the client script to the server RaiseCallbackEvent(String) method.

clientCallback
String String String String

Nombre del controlador de eventos de cliente que recibe el resultado de un evento de servidor correcto.The name of the client event handler that receives the result of the successful server event.

context
String String String String

El script de cliente que se evalúa en el cliente antes de iniciar la devolución de llamada.The client script that is evaluated on the client prior to initiating the callback. El resultado del script se devuelve al controlador de eventos de cliente.The result of the script is passed back to the client event handler.

clientErrorCallback
String String String String

Nombre del controlador de eventos de cliente que recibe el resultado cuando se produce un error en el controlador de eventos de servidor.The name of the client event handler that receives the result when an error occurs in the server event handler.

useAsync
Boolean Boolean Boolean Boolean

Es true para realizar la devolución de llamada de forma asincrónica; es false para realizar la devolución de llamada de forma sincrónica.true to perform the callback asynchronously; false to perform the callback synchronously.

Devoluciones

El nombre de una función de cliente que invoca la devolución de llamada de cliente.The name of a client function that invokes the client callback.

Excepciones

Comentarios

Esta sobrecarga del GetCallbackEventReference método requiere un useAsync clientErrorCallback parámetro y.This overload of the GetCallbackEventReference method requires a useAsync and a clientErrorCallback parameter. El useAsync parámetro permite realizar la devolución de llamada del cliente de forma asincrónica estableciendo el truevalor en.The useAsync parameter allows you to perform the client callback asynchronously by setting the value to true. Las versiones de sobrecarga de este método que no requieren el useAsync parámetro establecen el valor en false de forma predeterminada.The overload versions of this method that do not require the useAsync parameter set the value to false by default. El clientErrorCallback parámetro permite definir el nombre de la función de cliente a la que se llama si el controlador de servidor RaiseCallbackEvent (el método) devuelve un error.The clientErrorCallback parameter allows you to define the name of the client function that is called if the server handler (the RaiseCallbackEvent method) returns an error. Las versiones de sobrecarga de este método que no requieren el clientErrorCallback parámetro establecen el valor en NULL.The overload versions of this method that do not require the clientErrorCallback parameter set the value to null.

Para obtener más información sobre este método, vea los comentarios del método GetCallbackEventReference sobrecargado.For more information on this method, see the remarks for the overload GetCallbackEventReference method.

Consulte también:

Se aplica a