Freigeben über


ClientScriptManager.GetCallbackEventReference Methode

Definition

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an ein Serverereignis initiiert.

Überlädt

Name Beschreibung
GetCallbackEventReference(Control, String, String, String)

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an ein Serverereignis initiiert. Die Clientfunktion für diese überladene Methode enthält ein angegebenes Steuerelement, Argument, Clientskript und Kontext.

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode enthält ein angegebenes Steuerelement, Argument, Clientskript, Kontext und booleschen Wert.

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode enthält ein angegebenes Ziel, Argument, Clientskript, Kontext, Fehlerhandler und boolescher Wert.

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode enthält ein angegebenes Steuerelement, Argument, Clientskript, Kontext, Fehlerhandler und booleschen Wert.

GetCallbackEventReference(Control, String, String, String)

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an ein Serverereignis initiiert. Die Clientfunktion für diese überladene Methode enthält ein angegebenes Steuerelement, Argument, Clientskript und Kontext.

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

Parameter

control
Control

Der Server Control , der den Clientrückruf verarbeitet. Das Steuerelement muss die ICallbackEventHandler Schnittstelle implementieren und eine RaiseCallbackEvent(String) Methode bereitstellen.

argument
String

Ein Argument, das vom Clientskript an den Server übergeben wird

RaiseCallbackEvent(String) Methode.

clientCallback
String

Der Name des Clientereignishandlers, der das Ergebnis des erfolgreichen Serverereignisses empfängt.

context
String

Das Clientskript, das vor dem Initiieren des Rückrufs auf dem Client ausgewertet wird. Das Ergebnis des Skripts wird an den Clientereignishandler übergeben.

Gibt zurück

Der Name einer Clientfunktion, die den Clientrückruf aufruft.

Ausnahmen

Der Control angegebene Wert ist null.

Die Control angegebene Schnittstelle wird nicht implementiert ICallbackEventHandler .

Beispiele

Im folgenden Codebeispiel wird die Verwendung von zwei Überladungen der GetCallbackEventReference Methode in einem Clientrückrufszenario veranschaulicht, das ganze Zahlen erhöht.

Es werden zwei Rückrufmechanismen angezeigt; Der Unterschied zwischen ihnen ist die Verwendung des context Parameters. Mithilfe des context Parameters wird eine ReceiveServerData1 Clientrückruffunktion bereitgestellt. Im Gegensatz dazu wird die ReceiveServerData2 Clientrückruffunktion in einem <script> Block auf der Seite definiert. Eine RaiseCallbackEvent Methode ist der Serverhandler, der den wert erhöht, der an ihn übergeben wird, und die GetCallbackResult Methode gibt den inkrementierten Wert als Zeichenfolge zurück. Wenn die RaiseCallbackEvent Methode einen Fehler zurückgibt, wird die ProcessCallBackError Clientfunktion aufgerufen.

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

Hinweise

Die GetCallbackEventReference(Control, String, String, String) Methode führt einen Out-of-Band-Rückruf an den Server aus, bei dem es sich um eine geänderte Version des normalen Lebenszyklus einer Seite handelt. Weitere Informationen finden Sie unter Implementieren von Clientrückrufen ohne Postbacks.

Hinweis

Wenn der Browser Microsoft Internet Explorer (Version 5.0 oder höher) ist, wird der Skriptrückrufmechanismus über das Microsoft.XmlHttp COM-Objekt implementiert und erfordert, dass der Browser zum Ausführen von ActiveX-Steuerelementen festgelegt wird. Für andere Browser wird eine XMLHttpRequest mit dem lokalen Dom (Document Object Model) des Browsers verwendet. Verwenden Sie die SupportsCallback Eigenschaft, um zu überprüfen, ob ein Browser Clientrückrufe unterstützt. Verwenden Sie die SupportsXmlHttp Eigenschaft, um zu überprüfen, ob ein Browser XML über HTTP unterstützt. Auf beide Eigenschaften kann über die Browser Eigenschaft des systeminternen ASP.NET-Objekts Request zugegriffen werden.

Die GetCallbackEventReference Überladung der GetCallbackEventReference Methode führt einen Rückruf synchron mit XML über HTTP aus. Wenn Daten synchron in einem Rückrufszenario gesendet werden, werden synchrone Rückrufe sofort zurückgegeben und blockieren den Browser nicht. Im Browser können keine zwei synchronen Rückrufe gleichzeitig ausgeführt werden. Wenn ein zweiter synchroner Rückruf ausgelöst wird, während derzeit eins aussteht, bricht der zweite synchrone Rückruf den ersten ab, und nur der zweite Rückruf wird zurückgegeben.

Um Daten asynchron zu senden, verwenden Sie eine der Überladungen, die den useAsync Parameter verwenden, bei dem es sich um einen booleschen Wert handelt, der dieses Verhalten steuert. Im asynchronen Szenario können Mehrere ausstehende Rückrufe vorhanden sein; Die Reihenfolge, in der sie zurückgegeben werden, ist jedoch nicht garantiert, dass sie mit der Reihenfolge übereinstimmen, in der sie initiiert wurden.

Darüber hinaus gibt diese Überladung der GetCallbackEventReference Methode keine Clientfunktion an, um den Fall einer von der RaiseCallbackEvent Methode generierten Fehlerbedingung zu behandeln. Um einen Clientfehlerrückrufhandler anzugeben, verwenden Sie eine der Überladungen, die den clientErrorCallback Parameter verwendet.

Die GetCallbackEventReference(Control, String, String, String) Methode verwendet einen optionalen Zeichenfolgenparameter argument und gibt eine Zeichenfolge zurück. Um mehrere Werte zu übergeben oder zu empfangen, verketten Sie Werte in der Eingabe- bzw. Rückgabezeichenfolge.

Hinweis

Vermeiden Sie die Verwendung des Ansichtszustands in der Implementierung von Seiten- oder Steuerelementeigenschaften, die während Skriptrückrufvorgängen aktualisiert werden müssen. Wenn die Eigenschaften Seitenanforderungen überleben sollen, können Sie den Sitzungszustand verwenden.

Weitere Informationen

Gilt für:

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode enthält ein angegebenes Steuerelement, Argument, Clientskript, Kontext und booleschen Wert.

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

Parameter

control
Control

Der Server Control , der den Clientrückruf verarbeitet. Das Steuerelement muss die ICallbackEventHandler Schnittstelle implementieren und eine RaiseCallbackEvent(String) Methode bereitstellen.

argument
String

Ein Argument, das vom Clientskript an den Server übergeben wird

RaiseCallbackEvent(String) Methode.

clientCallback
String

Der Name des Clientereignishandlers, der das Ergebnis des erfolgreichen Serverereignisses empfängt.

context
String

Das Clientskript, das vor dem Initiieren des Rückrufs auf dem Client ausgewertet wird. Das Ergebnis des Skripts wird an den Clientereignishandler übergeben.

useAsync
Boolean

true zum asynchronen Ausführen des Rückrufs; false zum synchronen Ausführen des Rückrufs.

Gibt zurück

Der Name einer Clientfunktion, die den Clientrückruf aufruft.

Ausnahmen

Der Control angegebene Wert ist null.

Die Control angegebene Schnittstelle wird nicht implementiert ICallbackEventHandler .

Hinweise

Diese Überladung der GetCallbackEventReference Methode erfordert einen useAsync Parameter, mit dem Sie den Clientrückruf asynchron ausführen können, indem Sie den Wert auf truefestlegen. Die Überladungsversionen dieser Methode, für die der useAsync Parameter nicht erforderlich ist, legen den Wert standardmäßig fest false .

Weitere Informationen zu dieser Methode finden Sie in den Anmerkungen zur Überladungsmethode GetCallbackEventReference .

Weitere Informationen

Gilt für:

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode enthält ein angegebenes Ziel, Argument, Clientskript, Kontext, Fehlerhandler und boolescher Wert.

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

Parameter

target
String

Der Name eines Servers Control , der den Clientrückruf verarbeitet. Das Steuerelement muss die ICallbackEventHandler Schnittstelle implementieren und eine RaiseCallbackEvent(String) Methode bereitstellen.

argument
String

Ein Argument, das vom Clientskript an den Server übergeben wird

RaiseCallbackEvent(String) Methode.

clientCallback
String

Der Name des Clientereignishandlers, der das Ergebnis des erfolgreichen Serverereignisses empfängt.

context
String

Das Clientskript, das vor dem Initiieren des Rückrufs auf dem Client ausgewertet wird. Das Ergebnis des Skripts wird an den Clientereignishandler übergeben.

clientErrorCallback
String

Der Name des Clientereignishandlers, der das Ergebnis empfängt, wenn ein Fehler im Serverereignishandler auftritt.

useAsync
Boolean

true zum asynchronen Ausführen des Rückrufs; false zum synchronen Ausführen des Rückrufs.

Gibt zurück

Der Name einer Clientfunktion, die den Clientrückruf aufruft.

Beispiele

Im folgenden Codebeispiel wird die Verwendung von zwei Überladungen der GetCallbackEventReference Methode in einem Clientrückrufszenario veranschaulicht, das ganze Zahlen erhöht.

Es werden zwei Rückrufmechanismen angezeigt; Der Unterschied zwischen ihnen ist die Verwendung des context Parameters. Mithilfe des context Parameters wird eine ReceiveServerData1 Clientrückruffunktion bereitgestellt. Im Gegensatz dazu wird die ReceiveServerData2 Clientrückruffunktion in einem <script> Block auf der Seite definiert. Eine RaiseCallbackEvent Methode ist der Serverhandler, der den wert erhöht, der an ihn übergeben wird, und die GetCallbackResult Methode gibt den inkrementierten Wert als Zeichenfolge zurück. Wenn die RaiseCallbackEvent Methode einen Fehler zurückgibt, wird die Clientfunktion ProcessCallBackError aufgerufen.

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

Hinweise

Diese Überladung der GetCallbackEventReference Methode verwendet einen target Zeichenfolgenparameter anstelle eines Control Parameters. Verwenden Sie diese Überladung, wenn der Rückruf zu einer anderen Zeichenfolge als einer Zeichenfolge zurückwechseln soll, die das UniqueID Steuerelement enthält.

Darüber hinaus erfordert diese Überladung der GetCallbackEventReference Methode einen useAsync und einen clientErrorCallback Parameter. Mit useAsync dem Parameter können Sie den Clientrückruf asynchron ausführen, indem Sie den Wert auf truefestlegen. Die Überladungsversionen dieser Methode, für die der useAsync Parameter nicht erforderlich ist, legen den Wert standardmäßig fest false . Mit clientErrorCallback dem Parameter können Sie den Namen der Clientfunktion definieren, die aufgerufen wird, wenn der Serverhandler, die RaiseCallbackEvent Methode, einen Fehler zurückgibt. Die Überladungsversionen dieser Methode, für die der clientErrorCallback Parameter nicht erforderlich ist, legen den Wert auf NULL fest.

Weitere Informationen zu dieser Methode finden Sie in den Anmerkungen zur Überladungsmethode GetCallbackEventReference .

Weitere Informationen

Gilt für:

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufrufen einen Clientaufruf an Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode enthält ein angegebenes Steuerelement, Argument, Clientskript, Kontext, Fehlerhandler und booleschen Wert.

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

Parameter

control
Control

Der Server Control , der den Clientrückruf verarbeitet. Das Steuerelement muss die ICallbackEventHandler Schnittstelle implementieren und eine RaiseCallbackEvent(String) Methode bereitstellen.

argument
String

Ein Argument, das vom Clientskript an die Servermethode RaiseCallbackEvent(String) übergeben wird.

clientCallback
String

Der Name des Clientereignishandlers, der das Ergebnis des erfolgreichen Serverereignisses empfängt.

context
String

Das Clientskript, das vor dem Initiieren des Rückrufs auf dem Client ausgewertet wird. Das Ergebnis des Skripts wird an den Clientereignishandler übergeben.

clientErrorCallback
String

Der Name des Clientereignishandlers, der das Ergebnis empfängt, wenn ein Fehler im Serverereignishandler auftritt.

useAsync
Boolean

true zum asynchronen Ausführen des Rückrufs; false zum synchronen Ausführen des Rückrufs.

Gibt zurück

Der Name einer Clientfunktion, die den Clientrückruf aufruft.

Ausnahmen

Der Control angegebene Wert ist null.

Die Control angegebene Schnittstelle wird nicht implementiert ICallbackEventHandler .

Hinweise

Diese Überladung der GetCallbackEventReference Methode erfordert einen useAsync und einen clientErrorCallback Parameter. Mit useAsync dem Parameter können Sie den Clientrückruf asynchron ausführen, indem Sie den Wert auf truefestlegen. Die Überladungsversionen dieser Methode, für die der useAsync Parameter nicht erforderlich ist, legen den Wert standardmäßig fest false . Mit clientErrorCallback dem Parameter können Sie den Namen der Clientfunktion definieren, die aufgerufen wird, wenn der Serverhandler (die RaiseCallbackEvent Methode) einen Fehler zurückgibt. Die Überladungsversionen dieser Methode, für die der clientErrorCallback Parameter nicht erforderlich ist, legen den Wert auf NULL fest.

Weitere Informationen zu dieser Methode finden Sie in den Anmerkungen zur Überladungsmethode GetCallbackEventReference .

Weitere Informationen

Gilt für: