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

ASP.NET RegisterClientScriptBlockとRegisterStartupScriptの違い

ASP.NETRegisterClientScriptBlockRegisterStartupScriptの違いについてまとめます。

ASP.NET サーバー処理でJavaScriptを出力するで紹介したように、どちらもクライアントスクリプト(JavaScirpt)を出力する(埋め込む)メソッドです。

Dim script = "alert('更新しました');"

ClientScript.RegisterClientScriptBlock(GetType(String), "alert", script, True)
'または
ClientScript.RegisterStartupScript(GetType(String), "alert", script, True)

RegisterClientScriptBlockはページ表示前に実行され、RegisterStartupScriptはページ表示後に実行されます。

上記のようにアラートを表示するだけならどちらのメソッドでも問題ありませんが、例えばテキストボックスのコントロールを参照したり、htmlの要素にアクセスしたい場合は、ページ表示後に実行されるRegisterStartupScriptにする必要があります。


関連記事