ClientScriptManager.GetCallbackEventReference Метод

Определение

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событию сервера.

Перегрузки

GetCallbackEventReference(Control, String, String, String)

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событию сервера. Клиентская функция для перегруженного метода включает указанный элемент управления, аргумент, клиентский скрипт и контекст.

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

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событиям сервера. Клиентская функция для перегруженного метода включает указанный элемент управления, аргумент, клиентский скрипт, контекст и логическое значение.

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

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событиям сервера. Клиентская функция для перегруженного метода включает указанную цель, аргумент, клиентский скрипт, контекст, обработчик ошибок и логическое значение.

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

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событиям сервера. Клиентская функция для перегруженного метода включает указанный элемент управления, аргумент, клиентский скрипт, контекст, обработчик ошибок и логическое значение.

GetCallbackEventReference(Control, String, String, String)

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событию сервера. Клиентская функция для перегруженного метода включает указанный элемент управления, аргумент, клиентский скрипт и контекст.

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

Параметры

control
Control

Сервер Control, обрабатывающий обратные вызовы клиента. Элемент управления должен реализовать интерфейс ICallbackEventHandler и предоставить метод RaiseCallbackEvent(String).

argument
String

Аргумент, передаваемый от клиентского скрипта серверу.

Метод RaiseCallbackEvent(String).

clientCallback
String

Имя клиентского обработчика событий, который принимает результаты успешно выполненного события сервера.

context
String

Клиентский скрипт, оцениваемый на стороне клиента до инициализации обратного вызова. Результат скрипта отправляется обратно клиентскому обработчику событий.

Возвращаемое значение

Имя клиентской функции, осуществляющей обратный вызов клиента.

Исключения

Заданный объект Control имеет значение null.

Указанный элемент управления Control не реализует интерфейс ICallbackEventHandler.

Примеры

В следующем примере кода показано, как использовать две перегрузки метода в сценарии обратного GetCallbackEventReference вызова клиента, который увеличивает целые числа.

Показаны два механизма обратного вызова; разница между ними заключается в использовании context параметра . Функция ReceiveServerData1 обратного вызова клиента предоставляется с помощью context параметра . В отличие от этого, функция обратного ReceiveServerData2 вызова клиента определяется в <script> блоке на странице. Метод RaiseCallbackEvent — это обработчик сервера, который увеличивает передаваемое ему значение, а GetCallbackResult метод возвращает увеличенное значение в виде строки. RaiseCallbackEvent Если метод возвращает ошибку, вызывается 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>

Комментарии

Метод GetCallbackEventReference(Control, String, String, String) выполняет внеполосный обратный вызов на сервер, который является измененной версией нормального жизненного цикла страницы. Дополнительные сведения см. в разделе Реализация обратных вызовов клиента без обратной передачи.

Примечание

Если браузер Майкрософт Internet Explorer (версии 5.0 или более поздней), механизм обратного вызова скрипта реализуется с помощью Майкрософт. Com-объект XmlHttp и требует, чтобы браузер был настроен для запуска элементов ActiveX. Для других браузеров используется ЗАПРОС XMLHttpRequest, использующий локальную модель DOM браузера. Чтобы проверить, поддерживает ли браузер обратные вызовы клиента, используйте SupportsCallback свойство . Чтобы проверить, поддерживает ли браузер XML через HTTP, используйте SupportsXmlHttp свойство . Оба свойства доступны через Browser свойство встроенного объекта ASP.NET Request .

Перегрузка GetCallbackEventReferenceGetCallbackEventReference метода выполняет обратный вызов синхронно с использованием XML по протоколу HTTP. При синхронной отправке данных в сценарии обратного вызова синхронные обратные вызовы возвращаются немедленно и не блокируют браузер. Два синхронных обратных вызова не могут выполняться одновременно в браузере. Если второй синхронный обратный вызов выполняется, пока один находится в состоянии ожидания, второй синхронный обратный вызов отменяет первый, и возвращается только второй обратный вызов.

Для асинхронной отправки данных используйте одну из перегрузок, которая принимает useAsync параметр , который является логическим значением, управляющим этим поведением. В асинхронном сценарии можно использовать несколько ожидающих обратных вызовов; однако порядок, в котором они возвращаются, не гарантируется, совпадает с порядком, в котором они были инициированы.

Кроме того, эта перегрузка GetCallbackEventReference метода не определяет функцию клиента для обработки случая возникновения ошибки, созданного методом RaiseCallbackEvent . Чтобы указать обработчик обратного вызова ошибок клиента, используйте одну из перегрузок, которая принимает clientErrorCallback параметр .

Метод GetCallbackEventReference(Control, String, String, String) принимает необязательный строковый argument параметр и возвращает строку. Чтобы передать или получить несколько значений, сцепление значений во входной или возвращаемой строке соответственно.

Примечание

Избегайте использования состояния представления в реализации свойств страницы или элемента управления, которые необходимо обновить во время операций обратного вызова скрипта. Если свойства предназначены для того, чтобы сохранить запросы страницы, можно использовать состояние сеанса.

См. также раздел

Применяется к

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

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событиям сервера. Клиентская функция для перегруженного метода включает указанный элемент управления, аргумент, клиентский скрипт, контекст и логическое значение.

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

Параметры

control
Control

Сервер Control, обрабатывающий обратные вызовы клиента. Элемент управления должен реализовать интерфейс ICallbackEventHandler и предоставить метод RaiseCallbackEvent(String).

argument
String

Аргумент, передаваемый от клиентского скрипта серверу.

Метод RaiseCallbackEvent(String).

clientCallback
String

Имя клиентского обработчика событий, который принимает результаты успешно выполненного события сервера.

context
String

Клиентский скрипт, оцениваемый на стороне клиента до инициализации обратного вызова. Результат скрипта отправляется обратно клиентскому обработчику событий.

useAsync
Boolean

true для выполнения обратного вызова асинхронно; false для выполнения обратного вызова синхронно.

Возвращаемое значение

Имя клиентской функции, осуществляющей обратный вызов клиента.

Исключения

Заданный объект Control имеет значение null.

Указанный элемент управления Control не реализует интерфейс ICallbackEventHandler.

Комментарии

Для этой перегрузки GetCallbackEventReference метода требуется useAsync параметр , который позволяет выполнять обратный вызов клиента асинхронно, задавая значение true. Перегруженные версии этого метода, для которых параметр не требуется useAsync , по умолчанию задают значение false .

Дополнительные сведения об этом методе см. в примечаниях к методу перегрузки GetCallbackEventReference .

См. также раздел

Применяется к

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

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событиям сервера. Клиентская функция для перегруженного метода включает указанную цель, аргумент, клиентский скрипт, контекст, обработчик ошибок и логическое значение.

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

Параметры

target
String

Имя сервера Control, обрабатывающего обратный вызов клиента. Элемент управления должен реализовать интерфейс ICallbackEventHandler и предоставить метод RaiseCallbackEvent(String).

argument
String

Аргумент, передаваемый от клиентского скрипта серверу.

Метод RaiseCallbackEvent(String).

clientCallback
String

Имя клиентского обработчика событий, который принимает результаты успешно выполненного события сервера.

context
String

Клиентский скрипт, оцениваемый на стороне клиента до инициализации обратного вызова. Результат скрипта отправляется обратно клиентскому обработчику событий.

clientErrorCallback
String

Имя клиентского обработчика событий, принимающего результат, когда в обработчике событий сервера возникает ошибка.

useAsync
Boolean

true для выполнения обратного вызова асинхронно; false для выполнения обратного вызова синхронно.

Возвращаемое значение

Имя клиентской функции, осуществляющей обратный вызов клиента.

Примеры

В следующем примере кода показано, как использовать две перегрузки метода в сценарии обратного GetCallbackEventReference вызова клиента, который увеличивает целые числа.

Показаны два механизма обратного вызова; разница между ними заключается в использовании context параметра . Функция ReceiveServerData1 обратного вызова клиента предоставляется с помощью context параметра . В отличие от этого, функция обратного ReceiveServerData2 вызова клиента определяется в <script> блоке на странице. Метод RaiseCallbackEvent — это обработчик сервера, который увеличивает передаваемое ему значение, а GetCallbackResult метод возвращает увеличенное значение в виде строки. RaiseCallbackEvent Если метод возвращает ошибку, вызывается функция 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>

Комментарии

Эта перегрузка GetCallbackEventReference метода принимает строковый target параметр вместо Control параметра . Используйте эту перегрузку, если требуется, чтобы обратный вызов возвращал нечто, отличное от строки, UniqueID содержащей элемент управления .

Кроме того, для этой перегрузки GetCallbackEventReference метода требуются useAsync параметры и clientErrorCallback . Параметр useAsync позволяет выполнять обратный вызов клиента асинхронно, задавая значение true. Перегруженные версии этого метода, для которых параметр не требуется useAsync , по умолчанию задают значение false . Параметр clientErrorCallback позволяет определить имя клиентской функции, вызываемой, если обработчик сервера , RaiseCallbackEvent метод , возвращает ошибку. Версии перегрузки этого метода, для которых параметр не требуется clientErrorCallback , задают значение NULL.

Дополнительные сведения об этом методе см. в примечаниях к методу перегрузки GetCallbackEventReference .

См. также раздел

Применяется к

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

Получает ссылку на клиентскую функцию, которая при вызове инициализирует обратный вызов клиента к событиям сервера. Клиентская функция для перегруженного метода включает указанный элемент управления, аргумент, клиентский скрипт, контекст, обработчик ошибок и логическое значение.

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

Параметры

control
Control

Сервер Control, обрабатывающий обратные вызовы клиента. Элемент управления должен реализовать интерфейс ICallbackEventHandler и предоставить метод RaiseCallbackEvent(String).

argument
String

Аргумент, передаваемый от клиентского скрипта методу RaiseCallbackEvent(String) сервера.

clientCallback
String

Имя клиентского обработчика событий, который принимает результаты успешно выполненного события сервера.

context
String

Клиентский скрипт, оцениваемый на стороне клиента до инициализации обратного вызова. Результат скрипта отправляется обратно клиентскому обработчику событий.

clientErrorCallback
String

Имя клиентского обработчика событий, принимающего результат, когда в обработчике событий сервера возникает ошибка.

useAsync
Boolean

true для выполнения обратного вызова асинхронно; false для выполнения обратного вызова синхронно.

Возвращаемое значение

Имя клиентской функции, осуществляющей обратный вызов клиента.

Исключения

Заданный объект Control имеет значение null.

Указанный элемент управления Control не реализует интерфейс ICallbackEventHandler.

Комментарии

Для этой перегрузки GetCallbackEventReference метода требуется useAsync параметр и clientErrorCallback . Параметр useAsync позволяет выполнять обратный вызов клиента асинхронно, задав значение true. Версии перегрузки этого метода, для которых параметр не требуется useAsync , по умолчанию задают значение false . Параметр clientErrorCallback позволяет определить имя клиентской функции, вызываемой, если обработчик сервера ( RaiseCallbackEvent метод) возвращает ошибку. Версии перегрузки этого метода, для которых параметр не требуется clientErrorCallback , присваивают значение NULL.

Дополнительные сведения об этом методе см. в примечаниях к методу перегрузки GetCallbackEventReference .

См. также раздел

Применяется к