ClientScriptManager.GetCallbackEventReference Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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.