ClientScriptManager.GetCallbackEventReference Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzenia serwera.
Przeciążenia
GetCallbackEventReference(Control, String, String, String) |
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzenia serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta i kontekst. |
GetCallbackEventReference(Control, String, String, String, Boolean) |
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta, kontekst i wartość logiczną. |
GetCallbackEventReference(String, String, String, String, String, Boolean) |
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody obejmuje określony element docelowy, argument, skrypt klienta, kontekst, procedurę obsługi błędów i wartość logiczną. |
GetCallbackEventReference(Control, String, String, String, String, Boolean) |
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody obejmuje określoną kontrolkę, argument, skrypt klienta, kontekst, procedurę obsługi błędów i wartość logiczną. |
GetCallbackEventReference(Control, String, String, String)
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzenia serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta i kontekst.
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
Parametry
- control
- Control
Serwer Control obsługujący wywołanie zwrotne klienta. Kontrolka ICallbackEventHandler musi zaimplementować interfejs i podać metodę RaiseCallbackEvent(String) .
- argument
- String
Argument przekazany ze skryptu klienta do serwera
RaiseCallbackEvent(String) Metoda.
- clientCallback
- String
Nazwa procedury obsługi zdarzeń klienta, która odbiera wynik pomyślnego zdarzenia serwera.
- context
- String
Skrypt klienta, który jest oceniany na kliencie przed zainicjowaniem wywołania zwrotnego. Wynik skryptu jest przekazywany z powrotem do programu obsługi zdarzeń klienta.
Zwraca
Nazwa funkcji klienta, która wywołuje wywołanie zwrotne klienta.
Wyjątki
Określona Control wartość to null
.
Określony Control nie implementuje interfejsu ICallbackEventHandler .
Przykłady
W poniższym przykładzie kodu pokazano, jak używać dwóch przeciążeń GetCallbackEventReference metody w scenariuszu wywołania zwrotnego klienta, który zwiększa liczbę całkowitą.
Pokazano dwa mechanizmy wywołania zwrotnego; różnica między nimi jest użycie parametru context
. Funkcja ReceiveServerData1
wywołania zwrotnego klienta jest dostarczana przy użyciu parametru context
.
ReceiveServerData2
Natomiast funkcja wywołania zwrotnego klienta jest definiowana <script>
w bloku na stronie. Metoda RaiseCallbackEvent to procedura obsługi serwera, która zwiększa wartość przekazywaną do niej, a GetCallbackResult metoda zwraca wartość przyrostową jako ciąg.
RaiseCallbackEvent Jeśli metoda zwraca błąd, ProcessCallBackError
wywoływana jest funkcja klienta.
<%@ 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>
Uwagi
Metoda GetCallbackEventReference(Control, String, String, String) wykonuje wywołanie zwrotne poza pasmem na serwerze, który jest zmodyfikowaną wersją normalnego cyklu życia strony. Aby uzyskać więcej informacji, zobacz Implementowanie wywołań zwrotnych klienta bez poświadczeń zwrotnych.
Uwaga
Gdy przeglądarka to Microsoft Internet Explorer (wersja 5.0 lub nowsza), mechanizm wywołania zwrotnego skryptu jest implementowany za pośrednictwem obiektu Microsoft.XmlHttp COM i wymaga ustawienia przeglądarki w celu uruchomienia kontrolek ActiveX. W przypadku innych przeglądarek używany jest lokalny model OBIEKTÓW dokumentów (DOM) przeglądarki XMLHttpRequest. Aby sprawdzić, czy przeglądarka obsługuje wywołania zwrotne klienta, użyj SupportsCallback właściwości . Aby sprawdzić, czy przeglądarka obsługuje kod XML za pośrednictwem protokołu HTTP, użyj SupportsXmlHttp właściwości . Obie właściwości są dostępne za pośrednictwem Browser właściwości wewnętrznego obiektu ASP.NET Request .
Przeciążenie GetCallbackEventReference metody wykonuje wywołanie GetCallbackEventReference zwrotne synchronicznie przy użyciu kodu XML za pośrednictwem protokołu HTTP. Podczas wysyłania danych synchronicznie w scenariuszu wywołania zwrotnego synchroniczne wywołania zwrotne zwracają natychmiast i nie blokują przeglądarki. W przeglądarce nie można wykonać żadnych dwóch synchronicznych wywołań zwrotnych wywołań zwrotnych. Jeśli drugie synchroniczne wywołanie zwrotne jest uruchamiane, gdy jeden jest obecnie oczekujący, drugi synchroniczny wywołanie zwrotne anuluje pierwszy, a tylko drugi wywołanie zwrotne zwróci.
Aby wysyłać dane asynchronicznie, użyj jednego z przeciążeń, które przyjmuje useAsync
parametr, który jest wartością logiczną kontrolującą to zachowanie. W scenariuszu asynchronicznym można mieć wiele oczekujących wywołań zwrotnych; jednak kolejność powrotu nie jest gwarantowana do dopasowania kolejności, w jakiej zostały zainicjowane.
Ponadto to przeciążenie GetCallbackEventReference metody nie określa funkcji klienta do obsługi przypadku warunku błędu wygenerowanego przez metodę RaiseCallbackEvent . Aby określić procedurę obsługi wywołania zwrotnego błędów klienta, użyj jednego z przeciążeń, które przyjmuje clientErrorCallback
parametr .
Metoda GetCallbackEventReference(Control, String, String, String) przyjmuje opcjonalny parametr ciągu argument
i zwraca ciąg. Aby przekazać lub odebrać wiele wartości, połącz odpowiednio wartości w ciągu wejściowym lub zwrotnym.
Uwaga
Unikaj używania stanu widoku w implementacji właściwości strony lub kontrolki, które muszą być aktualizowane podczas operacji wywołania zwrotnego skryptu. Jeśli właściwości mają przetrwać żądania stron, możesz użyć stanu sesji.
Zobacz też
Dotyczy
GetCallbackEventReference(Control, String, String, String, Boolean)
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta, kontekst i wartość logiczną.
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
Parametry
- control
- Control
Serwer Control obsługujący wywołanie zwrotne klienta. Kontrolka ICallbackEventHandler musi zaimplementować interfejs i podać metodę RaiseCallbackEvent(String) .
- argument
- String
Argument przekazany ze skryptu klienta do serwera
RaiseCallbackEvent(String) Metoda.
- clientCallback
- String
Nazwa procedury obsługi zdarzeń klienta, która odbiera wynik pomyślnego zdarzenia serwera.
- context
- String
Skrypt klienta, który jest oceniany na kliencie przed zainicjowaniem wywołania zwrotnego. Wynik skryptu jest przekazywany z powrotem do programu obsługi zdarzeń klienta.
- useAsync
- Boolean
true
do wykonywania asynchronicznego wywołania zwrotnego; false
aby wykonać wywołanie zwrotne synchronicznie.
Zwraca
Nazwa funkcji klienta, która wywołuje wywołanie zwrotne klienta.
Wyjątki
Określona Control wartość to null
.
Określony Control nie implementuje interfejsu ICallbackEventHandler .
Uwagi
To przeciążenie metody wymaga parametruGetCallbackEventReference, który umożliwia asynchronicznie wykonywanie wywołania zwrotnego klienta przez ustawienie wartości na true
.useAsync
Przeciążenia wersji tej metody, które nie wymagają parametru useAsync
ustawić wartość domyślnie false
.
Aby uzyskać więcej informacji na temat tej metody, zobacz uwagi dotyczące metody przeciążenia GetCallbackEventReference .
Zobacz też
Dotyczy
GetCallbackEventReference(String, String, String, String, String, Boolean)
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody zawiera określony element docelowy, argument, skrypt klienta, kontekst, program obsługi błędów i wartość logiczną.
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
Parametry
- target
- String
Nazwa serwera Control obsługującego wywołanie zwrotne klienta. Kontrolka ICallbackEventHandler musi zaimplementować interfejs i podać metodę RaiseCallbackEvent(String) .
- argument
- String
Argument przekazany ze skryptu klienta do serwera
RaiseCallbackEvent(String) Metoda.
- clientCallback
- String
Nazwa procedury obsługi zdarzeń klienta, która odbiera wynik pomyślnego zdarzenia serwera.
- context
- String
Skrypt klienta, który jest oceniany na kliencie przed zainicjowaniem wywołania zwrotnego. Wynik skryptu jest przekazywany z powrotem do programu obsługi zdarzeń klienta.
- clientErrorCallback
- String
Nazwa procedury obsługi zdarzeń klienta, która odbiera wynik w przypadku wystąpienia błędu w programie obsługi zdarzeń serwera.
- useAsync
- Boolean
true
do wykonywania asynchronicznego wywołania zwrotnego; false
aby wykonać wywołanie zwrotne synchronicznie.
Zwraca
Nazwa funkcji klienta, która wywołuje wywołanie zwrotne klienta.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać dwóch przeciążeń GetCallbackEventReference metody w scenariuszu wywołania zwrotnego klienta, który zwiększa liczbę całkowitą.
Pokazano dwa mechanizmy wywołania zwrotnego; różnica między nimi jest użycie parametru context
. Funkcja ReceiveServerData1
wywołania zwrotnego klienta jest dostarczana przy użyciu parametru context
.
ReceiveServerData2
Natomiast funkcja wywołania zwrotnego klienta jest definiowana <script>
w bloku na stronie. Metoda RaiseCallbackEvent to procedura obsługi serwera, która zwiększa wartość przekazywaną do niej, a GetCallbackResult metoda zwraca wartość przyrostową jako ciąg.
RaiseCallbackEvent Jeśli metoda zwraca błąd, wywoływana jest funkcja ProcessCallBackError
klienta.
<%@ 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>
Uwagi
To przeciążenie GetCallbackEventReference metody przyjmuje target
parametr ciągu zamiast parametru Control . Użyj tego przeciążenia, gdy chcesz, aby wywołanie zwrotne wróciło do czegoś innego niż ciąg zawierający UniqueID kontrolkę.
Ponadto to przeciążenie metody wymaga useAsync
parametru GetCallbackEventReference i clientErrorCallback
. Parametr useAsync
umożliwia asynchronicznie wykonywanie wywołania zwrotnego klienta przez ustawienie wartości na true
. Przeciążenia wersji tej metody, które nie wymagają parametru useAsync
ustawić wartość domyślnie false
. Parametr clientErrorCallback
umożliwia zdefiniowanie nazwy funkcji klienta, która jest wywoływana, jeśli program obsługi serwera, RaiseCallbackEvent metoda, zwraca błąd. Przeciążenia wersji tej metody, które nie wymagają parametru clientErrorCallback
ustawić wartość null.
Aby uzyskać więcej informacji na temat tej metody, zobacz uwagi dotyczące metody przeciążenia GetCallbackEventReference .
Zobacz też
- ICallbackEventHandler
- UniqueID
- Wywołania zwrotne klienta bez ogłaszania zwrotnego na stronach ASP.NET
Dotyczy
GetCallbackEventReference(Control, String, String, String, String, Boolean)
Uzyskuje odwołanie do funkcji klienta, która po wywołaniu inicjuje wywołanie klienta z powrotem do zdarzeń serwera. Funkcja klienta dla tej przeciążonej metody zawiera określoną kontrolkę, argument, skrypt klienta, kontekst, program obsługi błędów i wartość logiczną.
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
Parametry
- control
- Control
Serwer Control obsługujący wywołanie zwrotne klienta. Kontrolka ICallbackEventHandler musi zaimplementować interfejs i podać metodę RaiseCallbackEvent(String) .
- argument
- String
Argument przekazany ze skryptu klienta do metody serwera RaiseCallbackEvent(String) .
- clientCallback
- String
Nazwa programu obsługi zdarzeń klienta, która odbiera wynik pomyślnego zdarzenia serwera.
- context
- String
Skrypt klienta oceniany na kliencie przed zainicjowaniem wywołania zwrotnego. Wynik skryptu jest przekazywany z powrotem do programu obsługi zdarzeń klienta.
- clientErrorCallback
- String
Nazwa programu obsługi zdarzeń klienta, która odbiera wynik w przypadku wystąpienia błędu w procedurze obsługi zdarzeń serwera.
- useAsync
- Boolean
true
do asynchronicznego wykonywania wywołania zwrotnego; false
aby wykonać wywołanie zwrotne synchronicznie.
Zwraca
Nazwa funkcji klienta, która wywołuje wywołanie zwrotne klienta.
Wyjątki
Określony Control parametr to null
.
Określony Control element nie implementuje interfejsu ICallbackEventHandler .
Uwagi
To przeciążenie GetCallbackEventReference metody wymaga parametru useAsync
clientErrorCallback
i . Parametr useAsync
umożliwia asynchroniczne wykonywanie wywołania zwrotnego klienta przez ustawienie wartości na true
. Wersje przeciążenia tej metody, które nie wymagają parametru useAsync
ustawić wartość domyślnie false
. Parametr clientErrorCallback
umożliwia zdefiniowanie nazwy funkcji klienta, która jest wywoływana, jeśli program obsługi serwera ( RaiseCallbackEvent metoda) zwraca błąd. Przeciążenia wersji tej metody, które nie wymagają parametru clientErrorCallback
ustawić wartość null.
Aby uzyskać więcej informacji na temat tej metody, zobacz uwagi dotyczące metody przeciążenia GetCallbackEventReference .