Nyelv

ClientScriptManager.GetCallbackEventReference Metódus

Definíció

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor egy ügyfélhívást kezdeményez egy kiszolgálóeseményre.

Túlterhelések

Név Description
GetCallbackEventReference(Control, String, String, String)

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor egy ügyfélhívást kezdeményez egy kiszolgálóeseményre. A túlterhelt metódus ügyfélfüggvénye tartalmaz egy megadott vezérlőt, argumentumot, ügyfélszkriptet és környezetet.

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

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor kezdeményez egy ügyfélhívást a kiszolgálói eseményekre. A túlterhelt metódus ügyfélfüggvénye tartalmaz egy megadott vezérlőt, argumentumot, ügyfélszkriptet, környezetet és logikai értéket.

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

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor kezdeményez egy ügyfélhívást a kiszolgálói eseményekre. A túlterhelt metódus ügyfélfüggvénye tartalmaz egy megadott célt, argumentumot, ügyfélszkriptet, környezetet, hibakezelőt és logikai értéket.

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

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor kezdeményez egy ügyfélhívást a kiszolgálói eseményekre. A túlterhelt metódus ügyfélfüggvénye tartalmaz egy megadott vezérlőt, argumentumot, ügyfélszkriptet, környezetet, hibakezelőt és logikai értéket.

GetCallbackEventReference(Control, String, String, String)

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor egy ügyfélhívást kezdeményez egy kiszolgálóeseményre. A túlterhelt metódus ügyfélfüggvénye tartalmaz egy megadott vezérlőt, argumentumot, ügyfélszkriptet és környezetet.

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

Paraméterek

control
Control

Az ügyfélvisszahívást kezelő kiszolgáló Control . A vezérlőnek implementálnia kell az interfészt ICallbackEventHandler , és meg kell adnia egy metódust RaiseCallbackEvent(String) .

argument
String

Az ügyfélszkriptből a kiszolgálónak átadott argumentum

RaiseCallbackEvent(String) módszer.

clientCallback
String

A sikeres kiszolgálóesemény eredményét fogadó ügyfélesemény-kezelő neve.

context
String

A visszahívás kezdeményezése előtt az ügyfélen kiértékelt ügyfélszkript. A szkript eredménye vissza lesz adva az ügyfélesemény-kezelőnek.

Válaszok

Az ügyfélvisszahívást meghívó ügyfélfüggvény neve.

Kivételek

A Control megadott érték: null.

A Control megadott nem implementálja az interfészt ICallbackEventHandler .

Példák

Az alábbi példakód bemutatja, hogyan használhatja a GetCallbackEventReference metódus két túlterhelését egy olyan ügyfélvisszahívási forgatókönyvben, amely egész számokat növekményes.

Két visszahívási mechanizmus látható; közöttük a paraméter használata context a különbség. A ReceiveServerData1 paraméterrel ügyfélvisszahívási context függvényt ad meg. Ezzel szemben az ReceiveServerData2 ügyfélvisszahívási függvény a lap egy <script> blokkjában van definiálva. A RaiseCallbackEvent metódus a kiszolgálókezelő, amely növeli a neki átadott értéket, és a metódus sztringként GetCallbackResult adja vissza a növekményes értéket. Ha a RaiseCallbackEvent metódus hibát ad vissza, a rendszer meghívja az ProcessCallBackError ügyfélfüggvényt.

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

Megjegyzések

A GetCallbackEventReference(Control, String, String, String) metódus sávon kívüli visszahívást hajt végre a kiszolgálóra, amely egy lap normál életciklusának módosított verziója. További információ: Ügyfélvisszahívások végrehajtása postback nélkül.

Note

Ha a böngésző Microsoft Internet Explorer (5.0-s vagy újabb verzió), a szkript visszahívási mechanizmusa a Microsoft keresztül valósul meg. XmlHttp COM-objektum, és a böngészőt ActiveX-vezérlők futtatására kell beállítani. Más böngészők esetén a rendszer egy XMLHttpRequest fájlt használ a böngésző helyi dokumentumobjektum-modelljét (DOM). Annak ellenőrzéséhez, hogy egy böngésző támogatja-e az ügyfélvisszahívásokat, használja a tulajdonságot SupportsCallback . Annak ellenőrzéséhez, hogy egy böngésző támogatja-e az XML-t HTTP-en keresztül, használja a tulajdonságot SupportsXmlHttp . Mindkét tulajdonság a belső ASP.NET Browser objektum Request tulajdonságán keresztül érhető el.

A GetCallbackEventReference metódus túlterhelése szinkron módon hajtja végre a GetCallbackEventReference visszahívást XML http-en keresztül. Ha visszahívási forgatókönyvben szinkron módon küld adatokat, a szinkron visszahívások azonnal visszatérnek, és nem tiltják le a böngészőt. Két szinkron visszahívás nem hajtható végre egyszerre a böngészőben. Ha egy második szinkron visszahívás aktiválódik, miközben az egyik jelenleg függőben van, a második szinkron visszahívás megszakítja az elsőt, és csak a második visszahívás fog visszatérni.

Az adatok aszinkron küldéséhez használja a paramétert használó túlterhelések egyikét, amely egy logikai érték, amely vezérli ezt a useAsync viselkedést. Az aszinkron forgatókönyvben több függőben lévő visszahívás is lehet; a visszaküldési sorrend azonban nem garantáltan megegyezik azzal a sorrenddel, amelyben azokat kezdeményezték.

Emellett a GetCallbackEventReference metódus túlterhelése nem határoz meg ügyfélfüggvényt a metódus által RaiseCallbackEvent létrehozott hibaállapotok kezelésére. Ügyfélhiba-visszahívás-kezelő megadásához használja a paramétert használó clientErrorCallback túlterhelések egyikét.

A GetCallbackEventReference(Control, String, String, String) metódus egy opcionális sztringparamétert argument használ, és egy sztringet ad vissza. Ha több értéket szeretne átadni vagy fogadni, fűzz össze értékeket a bemeneti vagy a visszatérési sztringben.

Note

Kerülje a nézetállapot használatát a szkriptvisszahívási műveletek során frissíteni kívánt oldal- vagy vezérlőtulajdonságok implementációjában. Ha a tulajdonságok túlélik az oldalkéréseket, használhatja a munkamenet állapotát.

Lásd még

A következőre érvényes:

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

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor kezdeményez egy ügyfélhívást a kiszolgálói eseményekre. A túlterhelt metódus ügyfélfüggvénye tartalmaz egy megadott vezérlőt, argumentumot, ügyfélszkriptet, környezetet és logikai értéket.

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

Paraméterek

control
Control

Az ügyfélvisszahívást kezelő kiszolgáló Control . A vezérlőnek implementálnia kell az interfészt ICallbackEventHandler , és meg kell adnia egy metódust RaiseCallbackEvent(String) .

argument
String

Az ügyfélszkriptből a kiszolgálónak átadott argumentum

RaiseCallbackEvent(String) módszer.

clientCallback
String

A sikeres kiszolgálóesemény eredményét fogadó ügyfélesemény-kezelő neve.

context
String

A visszahívás kezdeményezése előtt az ügyfélen kiértékelt ügyfélszkript. A szkript eredménye vissza lesz adva az ügyfélesemény-kezelőnek.

useAsync
Boolean

true a visszahívás aszinkron végrehajtása; false a visszahívás szinkron végrehajtásához.

Válaszok

Az ügyfélvisszahívást meghívó ügyfélfüggvény neve.

Kivételek

A Control megadott érték: null.

A Control megadott nem implementálja az interfészt ICallbackEventHandler .

Megjegyzések

A metódus túlterheléséhez GetCallbackEventReference paraméter useAsync szükséges, amely lehetővé teszi az ügyfél visszahívásának aszinkron módon történő végrehajtását az érték truebeállításával. A metódus azon túlterhelési verziói, amelyekhez nincs szükség a useAsync paraméter alapértelmezett értékének beállítására false .

A metódussal kapcsolatos további információkért lásd a túlterhelési GetCallbackEventReference módszer megjegyzéseit.

Lásd még

A következőre érvényes:

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

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor kezdeményez egy ügyfélhívást a kiszolgálói eseményekre. A túlterhelt metódus ügyfélfüggvénye tartalmaz egy megadott célt, argumentumot, ügyfélszkriptet, környezetet, hibakezelőt és logikai értéket.

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

Paraméterek

target
String

Az ügyfélvisszahívást kezelő kiszolgáló Control neve. A vezérlőnek implementálnia kell az interfészt ICallbackEventHandler , és meg kell adnia egy metódust RaiseCallbackEvent(String) .

argument
String

Az ügyfélszkriptből a kiszolgálónak átadott argumentum

RaiseCallbackEvent(String) módszer.

clientCallback
String

A sikeres kiszolgálóesemény eredményét fogadó ügyfélesemény-kezelő neve.

context
String

A visszahívás kezdeményezése előtt az ügyfélen kiértékelt ügyfélszkript. A szkript eredménye vissza lesz adva az ügyfélesemény-kezelőnek.

clientErrorCallback
String

Annak az ügyfélesemény-kezelőnek a neve, amely akkor kapja meg az eredményt, ha hiba történik a kiszolgáló eseménykezelőjében.

useAsync
Boolean

true a visszahívás aszinkron végrehajtása; false a visszahívás szinkron végrehajtásához.

Válaszok

Az ügyfélvisszahívást meghívó ügyfélfüggvény neve.

Példák

Az alábbi példakód bemutatja, hogyan használhatja a GetCallbackEventReference metódus két túlterhelését egy olyan ügyfélvisszahívási forgatókönyvben, amely egész számokat növekményes.

Két visszahívási mechanizmus látható; közöttük a paraméter használata context a különbség. A ReceiveServerData1 paraméterrel ügyfélvisszahívási context függvényt ad meg. Ezzel szemben az ReceiveServerData2 ügyfélvisszahívási függvény a lap egy <script> blokkjában van definiálva. A RaiseCallbackEvent metódus a kiszolgálókezelő, amely növeli a neki átadott értéket, és a metódus sztringként GetCallbackResult adja vissza a növekményes értéket. Ha a RaiseCallbackEvent metódus hibát ad vissza, a rendszer meghívja az ügyfélfüggvényt ProcessCallBackError .

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

Megjegyzések

A metódus túlterhelése paraméter GetCallbackEventReference helyett sztringparamétert targetControl használ. Ezt a túlterhelést akkor használja, ha azt szeretné, hogy a visszahívás visszalépjen a vezérlőt tartalmazó UniqueID sztringen kívül másra.

Emellett a metódus túlterheléséhez GetCallbackEventReference szükség van egy useAsync és egy paraméterre clientErrorCallback is. A useAsync paraméter lehetővé teszi az ügyfél visszahívásának aszinkron végrehajtását az érték truebeállításával. A metódus azon túlterhelési verziói, amelyekhez nincs szükség a useAsync paraméter alapértelmezett értékének beállítására false . A clientErrorCallback paraméter lehetővé teszi annak az ügyfélfüggvénynek a nevét, amelyet akkor hívunk meg, ha a kiszolgálókezelő, a RaiseCallbackEvent metódus hibát ad vissza. Ennek a metódusnak a túlterhelési verziói, amelyek nem igénylik a clientErrorCallback paramétert, null értékre állítják be az értéket.

A metódussal kapcsolatos további információkért lásd a túlterhelési GetCallbackEventReference módszer megjegyzéseit.

Lásd még

A következőre érvényes:

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

Olyan ügyfélfüggvényre mutató hivatkozást kér le, amely meghíváskor kezdeményez egy ügyfélhívást a kiszolgálói eseményekre. A túlterhelt metódus ügyfélfüggvénye tartalmaz egy megadott vezérlőt, argumentumot, ügyfélszkriptet, környezetet, hibakezelőt és logikai értéket.

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

Paraméterek

control
Control

Az ügyfélvisszahívást kezelő kiszolgáló Control . A vezérlőnek implementálnia kell az interfészt ICallbackEventHandler , és meg kell adnia egy metódust RaiseCallbackEvent(String) .

argument
String

Az ügyfélszkriptből a kiszolgáló RaiseCallbackEvent(String) metódusának átadott argumentum.

clientCallback
String

A sikeres kiszolgálóesemény eredményét fogadó ügyfélesemény-kezelő neve.

context
String

A visszahívás kezdeményezése előtt az ügyfélen kiértékelt ügyfélszkript. A szkript eredménye vissza lesz adva az ügyfélesemény-kezelőnek.

clientErrorCallback
String

Annak az ügyfélesemény-kezelőnek a neve, amely akkor kapja meg az eredményt, ha hiba történik a kiszolgáló eseménykezelőjében.

useAsync
Boolean

true a visszahívás aszinkron végrehajtása; false a visszahívás szinkron végrehajtásához.

Válaszok

Az ügyfélvisszahívást meghívó ügyfélfüggvény neve.

Kivételek

A Control megadott érték: null.

A Control megadott nem implementálja az interfészt ICallbackEventHandler .

Megjegyzések

A metódus túlterheléséhez GetCallbackEventReference egy useAsync és egy clientErrorCallback paraméter szükséges. A useAsync paraméter lehetővé teszi az ügyfél visszahívásának aszinkron végrehajtását az érték truebeállításával. A metódus azon túlterhelési verziói, amelyekhez nincs szükség a useAsync paraméter alapértelmezett értékének beállítására false . A clientErrorCallback paraméter lehetővé teszi annak az ügyfélfüggvénynek a nevét, amelyet akkor hívunk meg, ha a kiszolgálókezelő (a RaiseCallbackEvent metódus) hibát ad vissza. Ennek a metódusnak a túlterhelési verziói, amelyek nem igénylik a clientErrorCallback paramétert, null értékre állítják be az értéket.

A metódussal kapcsolatos további információkért lásd a túlterhelési GetCallbackEventReference módszer megjegyzéseit.

Lásd még

A következőre érvényes: