ClientScriptManager.GetCallbackEventReference Metoda

Definicja

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzenia serwera.

Przeciążenia

GetCallbackEventReference(Control, String, String, String)

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzenia serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta i kontekst.

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

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta, kontekst i wartość logiczną.

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

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody obejmuje określony element docelowy, argument, skrypt klienta, kontekst, procedurę obsługi błędów i wartość logiczną.

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

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody obejmuje określoną kontrolkę, argument, skrypt klienta, kontekst, procedurę obsługi błędów i wartość logiczną.

GetCallbackEventReference(Control, String, String, String)

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzenia serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta i kontekst.

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
Public Function GetCallbackEventReference (control As Control, argument As String, clientCallback As String, context As String) As String

Parametry

control
Control

Serwer Control obsługujący wywołanie zwrotne klienta. Kontrolka ICallbackEventHandler musi zaimplementować interfejs i podać metodę RaiseCallbackEvent(String) .

argument
String

Argument przekazany ze skryptu klienta do serwera

RaiseCallbackEvent(String) Metoda.

clientCallback
String

Nazwa procedury obsługi zdarzeń klienta, która odbiera wynik pomyślnego zdarzenia serwera.

context
String

Skrypt klienta, który jest oceniany na kliencie przed zainicjowaniem wywołania zwrotnego. Wynik skryptu jest przekazywany z powrotem do programu obsługi zdarzeń klienta.

Zwraca

Nazwa funkcji klienta, która wywołuje wywołanie zwrotne klienta.

Wyjątki

Określona Control wartość to null.

Określony Control nie implementuje interfejsu ICallbackEventHandler .

Przykłady

W poniższym przykładzie kodu pokazano, jak używać dwóch przeciążeń GetCallbackEventReference metody w scenariuszu wywołania zwrotnego klienta, który zwiększa liczbę całkowitą.

Pokazano dwa mechanizmy wywołania zwrotnego; różnica między nimi jest użycie parametru context . Funkcja ReceiveServerData1 wywołania zwrotnego klienta jest dostarczana przy użyciu parametru context . ReceiveServerData2 Natomiast funkcja wywołania zwrotnego klienta jest definiowana <script> w bloku na stronie. Metoda RaiseCallbackEvent to procedura obsługi serwera, która zwiększa wartość przekazywaną do niej, a GetCallbackResult metoda zwraca wartość przyrostową jako ciąg. RaiseCallbackEvent Jeśli metoda zwraca błąd, ProcessCallBackError wywoływana jest funkcja klienta.

<%@ 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>

Uwagi

Metoda GetCallbackEventReference(Control, String, String, String) wykonuje wywołanie zwrotne poza pasmem na serwerze, który jest zmodyfikowaną wersją normalnego cyklu życia strony. Aby uzyskać więcej informacji, zobacz Implementowanie wywołań zwrotnych klienta bez poświadczeń zwrotnych.

Uwaga

Gdy przeglądarka jest Microsoft Internet Explorer (wersja 5.0 lub nowsza), mechanizm wywołania zwrotnego skryptu jest implementowany za pośrednictwem Microsoft. Obiekt XMLHttp COM i wymaga ustawienia przeglądarki w celu uruchomienia kontrolek ActiveX. W przypadku innych przeglądarek używany jest lokalny model OBIEKTÓW dokumentów (DOM) przeglądarki XMLHttpRequest. Aby sprawdzić, czy przeglądarka obsługuje wywołania zwrotne klienta, użyj SupportsCallback właściwości . Aby sprawdzić, czy przeglądarka obsługuje kod XML za pośrednictwem protokołu HTTP, użyj SupportsXmlHttp właściwości . Obie właściwości są dostępne za pośrednictwem Browser właściwości wewnętrznego obiektu ASP.NET Request .

Przeciążenie GetCallbackEventReference metody wykonuje wywołanie GetCallbackEventReference zwrotne synchronicznie przy użyciu kodu XML za pośrednictwem protokołu HTTP. Podczas synchronicznego wysyłania danych w scenariuszu wywołania zwrotnego synchroniczne wywołania zwrotne zwracają natychmiast i nie blokują przeglądarki. W przeglądarce nie można wykonać żadnych dwóch synchronicznych wywołań zwrotnych wywołań zwrotnych. Jeśli drugie synchroniczne wywołanie zwrotne jest uruchamiane, gdy jeden jest obecnie oczekujący, drugi synchroniczny wywołanie zwrotne anuluje pierwszy, a tylko drugi wywołanie zwrotne zwróci.

Aby wysyłać dane asynchronicznie, użyj jednego z przeciążeń, które przyjmuje useAsync parametr, który jest wartością logiczną kontrolującą to zachowanie. W scenariuszu asynchronicznym można mieć wiele oczekujących wywołań zwrotnych; jednak kolejność powrotu nie jest gwarantowana do dopasowania kolejności, w jakiej zostały zainicjowane.

Ponadto to przeciążenie GetCallbackEventReference metody nie określa funkcji klienta do obsługi przypadku warunku błędu wygenerowanego przez metodę RaiseCallbackEvent . Aby określić procedurę obsługi wywołania zwrotnego błędów klienta, użyj jednego z przeciążeń, które przyjmuje clientErrorCallback parametr .

Metoda GetCallbackEventReference(Control, String, String, String) przyjmuje opcjonalny parametr ciągu argument i zwraca ciąg. Aby przekazać lub odebrać wiele wartości, połącz odpowiednio wartości w ciągu wejściowym lub zwrotnym.

Uwaga

Unikaj używania stanu widoku w implementacji właściwości strony lub kontrolki, które muszą być aktualizowane podczas operacji wywołania zwrotnego skryptu. Jeśli właściwości mają przetrwać żądania stron, możesz użyć stanu sesji.

Zobacz też

Dotyczy

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

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta, kontekst i wartość logiczną.

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
Public Function GetCallbackEventReference (control As Control, argument As String, clientCallback As String, context As String, useAsync As Boolean) As String

Parametry

control
Control

Serwer Control obsługujący wywołanie zwrotne klienta. Kontrolka ICallbackEventHandler musi zaimplementować interfejs i podać metodę RaiseCallbackEvent(String) .

argument
String

Argument przekazany ze skryptu klienta do serwera

RaiseCallbackEvent(String) Metoda.

clientCallback
String

Nazwa procedury obsługi zdarzeń klienta, która odbiera wynik pomyślnego zdarzenia serwera.

context
String

Skrypt klienta, który jest oceniany na kliencie przed zainicjowaniem wywołania zwrotnego. Wynik skryptu jest przekazywany z powrotem do programu obsługi zdarzeń klienta.

useAsync
Boolean

true do wykonywania asynchronicznego wywołania zwrotnego; false aby wykonać wywołanie zwrotne synchronicznie.

Zwraca

Nazwa funkcji klienta, która wywołuje wywołanie zwrotne klienta.

Wyjątki

Określona Control wartość to null.

Określony Control nie implementuje interfejsu ICallbackEventHandler .

Uwagi

To przeciążenie metody wymaga parametruGetCallbackEventReference, który umożliwia asynchronicznie wykonywanie wywołania zwrotnego klienta przez ustawienie wartości na true.useAsync Przeciążenia wersji tej metody, które nie wymagają parametru useAsync ustawić wartość domyślnie false .

Aby uzyskać więcej informacji na temat tej metody, zobacz uwagi dotyczące metody przeciążenia GetCallbackEventReference .

Zobacz też

Dotyczy

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

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody zawiera określony element docelowy, argument, skrypt klienta, kontekst, program obsługi błędów i wartość logiczną.

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

Parametry

target
String

Nazwa serwera Control obsługującego wywołanie zwrotne klienta. Kontrolka ICallbackEventHandler musi zaimplementować interfejs i podać metodę RaiseCallbackEvent(String) .

argument
String

Argument przekazany ze skryptu klienta do serwera

RaiseCallbackEvent(String) Metoda.

clientCallback
String

Nazwa procedury obsługi zdarzeń klienta, która odbiera wynik pomyślnego zdarzenia serwera.

context
String

Skrypt klienta, który jest oceniany na kliencie przed zainicjowaniem wywołania zwrotnego. Wynik skryptu jest przekazywany z powrotem do programu obsługi zdarzeń klienta.

clientErrorCallback
String

Nazwa programu obsługi zdarzeń klienta, która odbiera wynik po wystąpieniu błędu w programie obsługi zdarzeń serwera.

useAsync
Boolean

true do wykonywania asynchronicznego wywołania zwrotnego; false aby wykonać wywołanie zwrotne synchronicznie.

Zwraca

Nazwa funkcji klienta, która wywołuje wywołanie zwrotne klienta.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać dwóch przeciążeń GetCallbackEventReference metody w scenariuszu wywołania zwrotnego klienta, który zwiększa liczbę całkowitą.

Pokazano dwa mechanizmy wywołania zwrotnego; różnica między nimi jest użycie parametru context . Funkcja ReceiveServerData1 wywołania zwrotnego klienta jest dostarczana przy użyciu parametru context . ReceiveServerData2 Natomiast funkcja wywołania zwrotnego klienta jest definiowana <script> w bloku na stronie. Metoda RaiseCallbackEvent to procedura obsługi serwera, która zwiększa wartość przekazywaną do niej, a GetCallbackResult metoda zwraca wartość przyrostową jako ciąg. RaiseCallbackEvent Jeśli metoda zwraca błąd, wywoływana jest funkcja ProcessCallBackError klienta.

<%@ 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>

Uwagi

To przeciążenie GetCallbackEventReference metody przyjmuje target parametr ciągu zamiast parametru Control . Użyj tego przeciążenia, gdy chcesz, aby wywołanie zwrotne wróciło do czegoś innego niż ciąg zawierający UniqueID kontrolkę.

Ponadto to przeciążenie metody wymaga useAsync parametru GetCallbackEventReference i clientErrorCallback . Parametr useAsync umożliwia asynchronicznie wykonywanie wywołania zwrotnego klienta przez ustawienie wartości na true. Przeciążenia wersji tej metody, które nie wymagają parametru useAsync ustawić wartość domyślnie false . Parametr clientErrorCallback umożliwia zdefiniowanie nazwy funkcji klienta, która jest wywoływana, jeśli program obsługi serwera, RaiseCallbackEvent metoda, zwraca błąd. Przeciążenia wersji tej metody, które nie wymagają parametru clientErrorCallback ustawić wartość null.

Aby uzyskać więcej informacji na temat tej metody, zobacz uwagi dotyczące metody przeciążenia GetCallbackEventReference .

Zobacz też

Dotyczy

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

Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta, kontekst, program obsługi błędów i wartość logiczną.

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
Public Function GetCallbackEventReference (control As Control, argument As String, clientCallback As String, context As String, clientErrorCallback As String, useAsync As Boolean) As String

Parametry

control
Control

Serwer Control obsługujący wywołanie zwrotne klienta. Kontrolka ICallbackEventHandler musi zaimplementować interfejs i podać metodę RaiseCallbackEvent(String) .

argument
String

Argument przekazany ze skryptu klienta do metody serwera RaiseCallbackEvent(String) .

clientCallback
String

Nazwa programu obsługi zdarzeń klienta, która odbiera wynik pomyślnego zdarzenia serwera.

context
String

Skrypt klienta oceniany na kliencie przed zainicjowaniem wywołania zwrotnego. Wynik skryptu jest przekazywany z powrotem do programu obsługi zdarzeń klienta.

clientErrorCallback
String

Nazwa programu obsługi zdarzeń klienta, która odbiera wynik w przypadku wystąpienia błędu w procedurze obsługi zdarzeń serwera.

useAsync
Boolean

true do asynchronicznego wykonywania wywołania zwrotnego; false aby wykonać wywołanie zwrotne synchronicznie.

Zwraca

Nazwa funkcji klienta, która wywołuje wywołanie zwrotne klienta.

Wyjątki

Określony Control parametr to null.

Określony Control element nie implementuje interfejsu ICallbackEventHandler .

Uwagi

To przeciążenie GetCallbackEventReference metody wymaga parametru useAsyncclientErrorCallback i . Parametr useAsync umożliwia asynchroniczne wykonywanie wywołania zwrotnego klienta przez ustawienie wartości na true. Wersje przeciążenia tej metody, które nie wymagają parametru useAsync ustawić wartość domyślnie false . Parametr clientErrorCallback umożliwia zdefiniowanie nazwy funkcji klienta, która jest wywoływana, jeśli program obsługi serwera ( RaiseCallbackEvent metoda) zwraca błąd. Przeciążenia wersji tej metody, które nie wymagają parametru clientErrorCallback ustawić wartość null.

Aby uzyskać więcej informacji na temat tej metody, zobacz uwagi dotyczące metody przeciążenia GetCallbackEventReference .

Zobacz też

Dotyczy