方法 : クライアント スクリプトで Button Web サーバー コントロール イベントに応答する

更新 : 2007 年 11 月

ボタン コントロールはサーバー イベントとクライアント イベントの両方を発生させることができます。サーバー イベントはポストバックの後で発生し、これらはページに対して記述するサーバー側コードで処理されます。クライアント イベントは、クライアント スクリプト、通常は JavaScript (ECMAScript) で処理され、ページが送信される前に発生します。ASP.NET ボタン コントロールにクライアント側のイベントを追加することによって、ページを送信する前に確認ダイアログ ボックスを表示する、またはページの送信をすべてキャンセルするなどのタスクを実行できます。

ボタン Web サーバー コントロールに OnClientClick イベントを処理するクライアント スクリプトを追加するには

  • クライアント スクリプトを追加する ASP.NET ボタン Web サーバー コントロール (ButtonLinkButton、または ImageButton コントロール) で、OnClientClick プロパティを、実行するクライアント スクリプトに設定します。

    ms227426.alert_note(ja-jp,VS.90).gifメモ :

    送信をキャンセルできるようにする場合は、OnClientClick プロパティを、文字列 "Return" および関数名に設定します。これによって、クライアント スクリプトは false を返して送信をキャンセルできます。

    Button コントロールにクライアント スクリプトのクリック イベントを追加する方法のコード例を次に示します。

    <%@ Page Language="VB" %>
    <script runat="server">
        Sub Button1_Click(ByVal sender As Object, _
            ByVal e As System.EventArgs)
            Label1.Text = "Server click handler called."
        End Sub
    </script>
    
    <body>
      <form id="form1" runat="server">
        <asp:Button ID="Button1" Runat="server"
          OnClick="Button1_Click"
          OnClientClick="return confirm('Ready to submit.')"
          Text="Test Client Click" />
        <br />
        <asp:Label ID="Label1" Runat="server" text="" />
      </form>
    </body>
    </html>
    
    <%@ Page Language="C#" %>
    <script runat="server">
        void Button1_Click(Object sender, EventArgs e)
            Label1.Text = "Server click handler called.";
        End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <body>
      <form id="form1" runat="server">
        <asp:Button ID="Button1" Runat="server"
          OnClick="Button1_Click"
          OnClientClick="return confirm('Ready to submit.')"
          Text="Test Client Click" />
        <br />
        <asp:Label ID="Label1" Runat="server" text="" />
      </form>
    </body>
    </html>
    

参照

参照

Button Web サーバー コントロールの概要