ASP.NET サーバー処理でJavaScriptを出力する
ASP.NET
のサーバー処理でJavaScript
を出力する(埋め込む)方法を紹介します。
例えば、更新処理の後に「更新しました。」のアラートを表示したい場合、アラートを表示するのはサーバー処理でなく、クライアントスクリプト(JavaScript
)になります。
そのため、サーバー処理でアラートを表示するJavaScriptを出力する必要があります。
出力方法は以下の2種類があります。
Dim script = "alert('更新しました');" '実行したいJavaScript
ClientScript.RegisterClientScriptBlock(GetType(String), "alert", script, True)
'または
ClientScript.RegisterStartupScript(GetType(String), "alert", script, True)
どちらのメソッドも(type, key, script, addScriptTags)
の形式で指定します。
type
登録するクライアントスクリプトの型を指定します。
スクリプトは文字列なのでString
の型(GetType(String)
)を指定します。
key
登録するクライアントスクリプトのキーを指定します。
このメソッドを複数回実行する場合、キーの値を同じにした場合は後から実行したスクリプトに上書きされます。
両方のスクリプトを実行したい場合はキーが一意になるように設定する必要があります。
script
登録するクライアントスクリプトを指定します。
実際に実行したいJavaScript
を文字列で指定します。
addScriptTags
スクリプトタグを追加するかどうかをBoolean
で設定します。
True
の場合は、script
が<script>
, </script>
で囲われます。
False
の場合は、script
が<script>
, </script>
で囲われないため、script
に手動でスクリプトタグを設定する必要があります。
このパラメータは省略可能です。省略した場合はFalse
として処理されます。
RegisterClientScriptBlock
とRegisterStartupScript
の違いについてはASP.NET RegisterClientScriptBlockとRegisterStartupScriptの違いで紹介しています。