次の方法で共有


方法 : ASP.NET Web ページにクライアント スクリプトを動的に追加する

更新 : 2007 年 11 月

サーバー コードを使用すると、クライアント スクリプトをページに追加できます。サーバー コードでクライアント スクリプトを作成する方法は、クライアント スクリプトの内容が実行時まで使用できない情報に依存する場合に便利です。クライアント スクリプトをページに動的に追加する方法は、クライアント スクリプトを次のような状況で実行する場合に便利です。

クライアント スクリプトを ASP.NET Web ページに動的に追加するには

  • サーバー コードで、次の表に記載されているメソッドのいずれかを呼び出します。

    メソッド

    説明

    RegisterClientScriptBlock

    スクリプトのブロックをページの先頭に追加します。スクリプトを文字列として作成してページに追加するメソッドに渡します。このメソッドを使用すると、任意のスクリプトをページに挿入できます。ページのすべての要素の処理が完了する前にスクリプトがレンダリングされることがあり、スクリプトからページの要素を参照できない場合もあることに注意してください。

    RegisterClientScriptInclude

    RegisterClientScriptBlock メソッドと同様ですが、外部の .js ファイルを参照するスクリプト ブロックを追加します。インクルード ファイルは、動的に追加されるその他のすべてのスクリプトより前に追加されるため、ページの一部の要素を参照できない場合があります。

    RegisterStartupScript

    実行するスクリプト ブロックは、ページが読み込みを完了し、ページの onload イベントが発生する前に追加します。このスクリプトは、一般にイベント ハンドラまたは関数としては作成されず、一度だけ実行するステートメントのみを含みます。

    RegisterOnSubmitStatement

    ページの onsubmit イベントに応答して実行されるスクリプトを追加します。このスクリプトはページが送信される前に実行されるため、送信を取り消す機会として利用することもできます。

    ページをサーバーにポストバックするボタンをユーザーがクリックすると実行されるページにクライアント スクリプトを追加する方法のコード例を次に示します。このクライアント スクリプトは、ユーザーにポストバックを確認するように求めるポップアップ ウィンドウを表示します。

    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs)
        Dim scriptText As String
        scriptText = "return confirm('Do you want to submit the page?')"
        ClientScript.RegisterOnSubmitStatement(Me.GetType(), _
            "ConfirmSubmit", scriptText)
    End Sub
    
protected void Page_Load(Object sender, EventArgs e)
{
    String scriptText = 
        "return confirm('Do you want to submit the page?')";
    ClientScript.RegisterOnSubmitStatement(this.GetType(), 
        "ConfirmSubmit", scriptText);
}

参照

処理手順

方法 : ASP.NET Web サーバー コントロールにクライアント スクリプト イベントを追加する

概念

ASP.NET Web ページのクライアント スクリプト

ASP.NET Web ページでポストバックせずにプログラムによってクライアント コールバックを実装する