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

String

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 sie zwei Überladungen der GetCallbackEventReference Methode in einem Clientrückrufszenario verwenden, 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 an ihn übergebenen Wert erhöht und die GetCallbackResult Methode den inkrementierten Wert als Zeichenfolge zurückgibt. 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, der eine geänderte Version des normalen Lebenszyklus einer Seite ist. 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 festgelegt wird, um ActiveX Steuerelemente auszuführen. Für andere Browser wird ein 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. Beide Eigenschaften sind über die Browser Eigenschaft des systeminternen ASP.NET Request Objekts zugänglich.

Die GetCallbackEventReference Überladung der GetCallbackEventReference Methode führt synchron einen Rückruf mithilfe von XML über HTTP aus. Beim synchronen Senden von Daten in einem Rückrufszenario kehren synchrone Rückrufe sofort zurück und blockieren den Browser nicht. Kein synchroner Rückruf kann gleichzeitig im Browser ausgeführt werden. Wenn ein zweiter synchroner Rückruf ausgelöst wird, während eine aktuell aussteht, wird der zweite synchrone Rückruf den ersten abbricht und nur der zweite Rückruf zurückgegeben.

Um Daten asynchron zu senden, verwenden Sie eine der Überladungen, die den useAsync Parameter verwendet, was ein boolescher Wert ist, der dieses Verhalten steuert. Im asynchronen Szenario können Mehrere ausstehende Rückrufe vorhanden sein; die Reihenfolge, in der sie zurückkehren, ist jedoch nicht garantiert, dass sie der Reihenfolge entsprechen, 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 Clientfehler-Rü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- oder 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.

Siehe auch

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

String

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 trueauf festlegen. Die Überladungsversionen dieser Methode, die keinen useAsync Parameter erfordern, legen den Wert standardmäßig fest false .

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

Siehe auch

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

String

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie zwei Überladungen der GetCallbackEventReference Methode in einem Clientanrufszenario verwenden, das ganze Zahlen erhöht.

Zwei Rückrufmechanismen werden gezeigt; Der Unterschied zwischen ihnen ist die Verwendung des context Parameters. Eine ReceiveServerData1 Client-Rückruffunktion wird mithilfe des context Parameters bereitgestellt. Im Gegensatz dazu wird die ReceiveServerData2 Client-Rückruffunktion in einem <script> Block auf der Seite definiert. Eine RaiseCallbackEvent Methode ist der Serverhandler, der den wert, der an ihn übergeben wird, und die GetCallbackResult Methode gibt den inkrementierten Wert als Zeichenfolge zurück. Wenn die Methode einen Fehler zurückgibt, wird die RaiseCallbackEvent 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 anstelle eines Control Parameters einen target Zeichenfolgenparameter. Verwenden Sie diese Überladung, wenn der Rückruf zu einer anderen Als einer Zeichenfolge zurückgeht, 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, die keinen useAsync Parameter erfordern, 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, die den Parameter nicht benötigen, legen den clientErrorCallback Wert auf null fest.

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

Siehe auch

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

String

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 dem useAsync Parameter können Sie den Clientanruf asynchron ausführen, indem Sie den Wert auf truefestlegen. Die Überladungsversionen dieser Methode, die den Parameter nicht benötigen, legen den useAsync Wert false standardmäßig 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, die den Parameter nicht benötigen, legen den clientErrorCallback Wert auf null fest.

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

Siehe auch

Gilt für