ASP.NETでクライアントサイドにランタイムでJavaScriptを書き出す方法

2006-02-07
このエントリーをはてなブックマークに追加

クライアントサイドにランタイムでJavaScriptを書き出す方法です。別に「Response.Write」で書き出してもいいのですが、こっちのほうがスマートのような気がします。

//クライアントサイドにアラートを出す
RegisterClientScriptBlock(“client”, “<script language=’JavaScript’> alert(‘RegisterClientScriptBlock’) </script>”);

RegisterStartupScript(“client”, “<script language=’JavaScript’> alert(‘RegisterStartupScript’) </script>”);

「RegisterClientScriptBlock」で書き出すと、Formの開始タグの直後に出力されます。
「RegisterStartupScript」の場合はFormの終了タグの直前です。

書き出すタイミングが違うということは、クライアントサイドで実行されるタイミングも違う為、使い分けると色々と便利です。
サンプルではalertしか出してませんが、メソッドをaspxページに用意しておき必要なときにコールする等、用途は色々です。

Tags: