【ASP.NET】動的にスクリプトを組み込む

JavaScript

サーバサイドコードからJavaScriptを埋め込む

サンプル

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim cs As ClientScriptManager

    ' クライアントにコールバックの値を受け取るスクリプトを埋め込み(sampleCallbackを定義)
    cs = Me.ClientScript

    Dim script As StringBuilder = New StringBuilder()
    script.Append("<script language='javascript' type='text/javascript'>")
    script.Append("function sampleCallback(result, context) {")
    script.Append("  document.getElementById('TextBox1').value = result;")
    script.Append("}")
    script.Append("</script>")

    cs.RegisterClientScriptBlock( _
        Me.GetType, "sampleCallback", script.ToString())
    
End Sub

参考文献

http://www.vacant-eyes.jp/tips/taspnet/020.aspx
http://migelnanai.blog.so-net.ne.jp/2007-04-20

サーバーコントロールのクライアント側のIDを取得するには

 * 「【ASP.NETのコントロールID】.ClientID」を使用する

サンプル

var element = document.getElementById("< %= TextBox1.ClientID %>");

参考文献

http://dhive.jp/blog/yama/?p=1193

javaScriptから検証コントロールのエラーを検出したかを調べる

サンプル

// 検証コントロールがあるかどうか確認
if (typeof (Page_ClientValidate) == 'function') {
    // エラーを検出したかどうか確認
    if (Page_ClientValidate() == false) {
        return false;
    }
}

参考文献

http://mitc.xrea.jp/diary/070