ASP.NET RegisterClientScriptBlockとRegisterStartupScriptの違い
ASP.NET
のRegisterClientScriptBlock
とRegisterStartupScript
の違いについてまとめます。
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
にする必要があります。