Freigeben über


ClientScriptManager.GetCallbackEventReference Methode

Definition

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für ein Serverereignis initiiert.

Überlädt

GetCallbackEventReference(Control, String, String, String)

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für ein Serverereignis initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript sowie einen Kontext ein.

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript, einen Kontext sowie einen booleschen Wert ein.

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Ziel, ein Argument, ein Clientskript, einen Kontext, einen Fehlerhandler sowie einen booleschen Wert ein.

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript, einen Kontext, einen Fehlerhandler sowie einen booleschen Wert ein.

GetCallbackEventReference(Control, String, String, String)

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für ein Serverereignis initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript sowie einen Kontext ein.

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

Das Server-Control, das den Clientrückruf behandelt. 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 erfolgreich ausgeführten Serverereignisses empfängt.

context
String

Clientskript, das auf dem Client vor der Initialisierung des Rückrufs ausgewertet wird. Das Ergebnis des Skripts wird an den Clientereignishandler zurückgegeben.

Gibt zurück

Der Name einer Clientfunktion, die den Clientrückruf ausführt.

Ausnahmen

Der angegebene Control ist null.

Das angegebene Control implementiert die ICallbackEventHandler-Schnittstelle nicht.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie zwei Überladungen der GetCallbackEventReference -Methode in einem Clientrückrufszenario verwendet werden, in dem ganze Zahlen inkrementiert werden.

Es werden zwei Rückrufmechanismen gezeigt; der Unterschied zwischen ihnen ist die Verwendung des context Parameters. Eine ReceiveServerData1 Clientrückruffunktion wird mithilfe des context -Parameters bereitgestellt. Im Gegensatz dazu ist die ReceiveServerData2 Clientrückruffunktion in einem <script> Block auf der Seite definiert. Eine RaiseCallbackEvent -Methode ist der Serverhandler, der den an sie übergebenen Wert inkrementiert, 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 so festgelegt ist, dass ActiveX-Steuerelemente ausgeführt werden. Für andere Browser wird eine XMLHttpRequest mit dem lokalen Dokumentobjektmodell (DOM) 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 Request -Objekts zugegriffen werden.

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

Verwenden Sie zum asynchronen Senden von Daten eine der Überladungen, die den useAsync Parameter akzeptiert. Dabei handelt es sich um einen booleschen Wert, der dieses Verhalten steuert. Im asynchronen Szenario können mehrere ausstehende Rückrufe ausgeführt werden. die Reihenfolge, in der sie zurückgegeben werden, stimmt jedoch nicht garantiert mit der Reihenfolge überein, in der sie initiiert wurden.

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

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

Hinweis

Vermeiden Sie die Verwendung des Ansichtszustands in der Implementierung von Seiten- oder Steuerelementeigenschaften, die bei Skriptrückrufvorgängen aktualisiert werden müssen. Wenn die Eigenschaften Seitenanforderungen beibehalten 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 Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript, einen Kontext sowie einen booleschen Wert ein.

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

Das Server-Control, das den Clientrückruf behandelt. 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 erfolgreich ausgeführten Serverereignisses empfängt.

context
String

Clientskript, das auf dem Client vor der Initialisierung des Rückrufs ausgewertet wird. Das Ergebnis des Skripts wird an den Clientereignishandler zurückgegeben.

useAsync
Boolean

true, um den Rückruf asynchron auszuführen, false, um den Rückruf synchron auszuführen.

Gibt zurück

Der Name einer Clientfunktion, die den Clientrückruf ausführt.

Ausnahmen

Der angegebene Control ist null.

Das angegebene Control implementiert die ICallbackEventHandler-Schnittstelle nicht.

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 auf false fest.

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

Weitere Informationen

Gilt für:

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Ziel, ein Argument, ein Clientskript, einen Kontext, einen Fehlerhandler sowie einen booleschen Wert ein.

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 von einem Server-Control, das den Clientrückruf behandelt. 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 erfolgreich ausgeführten Serverereignisses empfängt.

context
String

Clientskript, das auf dem Client vor der Initialisierung des Rückrufs ausgewertet wird. Das Ergebnis des Skripts wird an den Clientereignishandler zurückgegeben.

clientErrorCallback
String

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

useAsync
Boolean

true, um den Rückruf asynchron auszuführen, false, um den Rückruf synchron auszuführen.

Gibt zurück

Der Name einer Clientfunktion, die den Clientrückruf ausführt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie zwei Überladungen der GetCallbackEventReference -Methode in einem Clientrückrufszenario verwendet werden, in dem ganze Zahlen inkrementiert werden.

Es werden zwei Rückrufmechanismen gezeigt; der Unterschied zwischen ihnen ist die Verwendung des context Parameters. Eine ReceiveServerData1 Clientrückruffunktion wird mithilfe des context -Parameters bereitgestellt. Im Gegensatz dazu ist die ReceiveServerData2 Clientrückruffunktion in einem <script> Block auf der Seite definiert. Eine RaiseCallbackEvent -Methode ist der Serverhandler, der den an sie übergebenen Wert inkrementiert, 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 Als einer Zeichenfolge zurückkehren soll, die den des UniqueID Steuerelements 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 auf false fest. 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 Hinweisen zur Überladungsmethode GetCallbackEventReference .

Weitere Informationen

Gilt für:

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

Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript, einen Kontext, einen Fehlerhandler sowie einen booleschen Wert ein.

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

Das Server-Control, das den Clientrückruf behandelt. Das Steuerelement muss die ICallbackEventHandler-Schnittstelle implementieren und eine RaiseCallbackEvent(String)-Methode bereitstellen.

argument
String

Ein Argument, das vom Clientskript an die RaiseCallbackEvent(String)-Methode des Servers übergeben wird.

clientCallback
String

Der Name des Clientereignishandlers, der das Ergebnis des erfolgreich ausgeführten Serverereignisses empfängt.

context
String

Clientskript, das auf dem Client vor der Initialisierung des Rückrufs ausgewertet wird. Das Ergebnis des Skripts wird an den Clientereignishandler zurückgegeben.

clientErrorCallback
String

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

useAsync
Boolean

true, um den Rückruf asynchron auszuführen, false, um den Rückruf synchron auszuführen.

Gibt zurück

Der Name einer Clientfunktion, die den Clientrückruf ausführt.

Ausnahmen

Der angegebene Control ist null.

Das angegebene Control implementiert die ICallbackEventHandler-Schnittstelle nicht.

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 auf false fest. 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 Hinweisen zur Überladungsmethode GetCallbackEventReference .

Weitere Informationen

Gilt für: