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

コールバックを開始する前にクライアント上で評価されるクライアント スクリプト。 このスクリプトの結果は、クライアント イベント ハンドラーに戻されます。

戻り値

クライアント コールバックを呼び出すクライアント関数の名前。

例外

指定された Controlnull です。

指定された ControlICallbackEventHandler インターフェイスが実装されていません。

次のコード例では、整数をインクリメントするクライアント コールバック シナリオで メソッドの GetCallbackEventReference 2 つのオーバーロードを使用する方法を示します。

2 つのコールバック メカニズムが表示されます。それらの違いは、 パラメーターの 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) 、ページの通常のライフ サイクルの変更バージョンであるサーバーに対して帯域外コールバックを実行します。 詳細については、「 ポストバックなしのクライアント コールバックの実装」を参照してください。

注意

ブラウザーが Microsoft Internet Explorer (バージョン 5.0 以降) の場合、スクリプト コールバック メカニズムは Microsoft.XmlHttp COM オブジェクトを介して実装され、ActiveX コントロールを実行するようにブラウザーを設定する必要があります。 他のブラウザーでは、ブラウザーのローカル ドキュメント オブジェクト モデル (DOM) を使用する XMLHttpRequest が使用されます。 ブラウザーがクライアント コールバックをサポートしているかどうかを確認するには、 プロパティを SupportsCallback 使用します。 ブラウザーで HTTP 経由の XML がサポートされているかどうかを確認するには、 プロパティを SupportsXmlHttp 使用します。 どちらのプロパティにも、組み込みの ASP.NET Request オブジェクトの プロパティを使用してBrowserアクセスできます。

メソッドのGetCallbackEventReferenceオーバーロードはGetCallbackEventReference、HTTP 経由で XML を使用して同期的にコールバックを実行します。 コールバック シナリオでデータを同期的に送信する場合、同期コールバックはすぐに返され、ブラウザーはブロックされません。 ブラウザーで 2 つの同期コールバック コールバックを同時に実行することはできません。 1 つ目の同期コールバックが現在保留中の間に 2 つ目の同期コールバックが発生した場合、2 番目の同期コールバックは 1 つ目を取り消し、2 番目のコールバックのみが返されます。

データを非同期的に送信するには、 パラメーターを受け取る 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

戻り値

クライアント コールバックを呼び出すクライアント関数の名前。

例外

指定された Controlnull です。

指定された ControlICallbackEventHandler インターフェイスが実装されていません。

注釈

メソッドの 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 2 つのオーバーロードを使用する方法を示します。

2 つのコールバック メカニズムが表示されます。それらの違いは、 パラメーターの 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>

注釈

メソッドのこのオーバーロードは GetCallbackEventReferencetarget パラメーターではなく文字列パラメーターを Control 受け取ります。 コントロールの を含む UniqueID 文字列以外にコールバックを戻す場合は、このオーバーロードを使用します。

さらに、 メソッドのこのオーバーロードにはGetCallbackEventReference、 と パラメーターがclientErrorCallback必要useAsyncです。 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

戻り値

クライアント コールバックを呼び出すクライアント関数の名前。

例外

指定された Controlnull です。

指定された ControlICallbackEventHandler インターフェイスが実装されていません。

注釈

メソッドのこのオーバーロードにはGetCallbackEventReference、 と パラメーターがclientErrorCallback必要useAsyncです。 useAsyncパラメーターを使用すると、 値を に設定することで、クライアント コールバックを非同期的にtrue実行できます。 パラメーターを必要としないこのメソッドのオーバーロード バージョンは、 useAsync 既定で 値を に false 設定します。 clientErrorCallbackパラメーターを使用すると、サーバー ハンドラー (メソッド) からエラーが返された場合に呼び出されるクライアント関数のRaiseCallbackEvent名前を定義できます。 パラメーターを必要としないこのメソッドのオーバーロード バージョンは、 clientErrorCallback 値を null に設定します。

このメソッドの詳細については、オーバーロード GetCallbackEventReference メソッドの解説を参照してください。

こちらもご覧ください

適用対象