zukucode
主にWEB関連の情報を技術メモとして発信しています。

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として処理されます。

RegisterClientScriptBlockRegisterStartupScriptの違いについてはASP.NET RegisterClientScriptBlockとRegisterStartupScriptの違いで紹介しています。


関連記事