0

こんにちは、

C# サーバー側検証を使用する単純なフォームがあります。でラジオ ボタンまたはドロップダウン リストを使用する場合、コード ビハインド メソッド内でAutoPostBack呼び出す必要があります。Page.Validate()これを行うと、C# 検証の既定の関数をオーバーライドするページで Javascript が実行されません。

autopostback メソッドで呼び出しを呼び出すときに、javascript -ValidatorUpdateDisplay関数を実行するにはどうすればよいですか?Page.Validate()

前もって感謝します!

ロブ

Javascript:

// Form Validation: Change TextBox CSS for outline color
ValidatorUpdateDisplay = function (val) {

    var ctl = $('#' + val.controltovalidate);
    var eCount = 0;

    for (var i = 0; i < Page_Validators.length; i++) {        
        var v = Page_Validators[i];

        if (v.controltovalidate == val.controltovalidate) {                      
            if (!v.isvalid) {
                eCount++;
                ctl.addClass('validationError');
                $('td.question:eq(' + i + ')').addClass('someClass');                           
            }        
        }
    }

    if (eCount > 0) {
        ctl.addClass('validationError');
    } 
    else {
        ctl.removeClass('validationError');
        // $('td.question:eq(' + i + ')').removeClass('someClass');
    }

    if (typeof (val.display) == "string") {
        if (val.display == "None") {
            return;
        }
        else if (val.display == "Dynamic") {
            val.style.display = val.isvalid ? "none" : "inline";
            return;
        }
    }

    if (navigator.userAgent.indexOf("Mac") > -1 &&
        navigator.userAgent.indexOf("MSIE") > -1) {
        val.style.display = "inline";
    }

    val.style.visibility = val.isvalid ? "hidden" : "visible";
}
4

2 に答える 2

0

に基づいてこのコードを試すことができますRegisterStartupScript

 var javaScript = 
  "<script language=JavaScript>
   ValidatorUpdateDisplay(); 
   </script>";

 RegisterStartupScript("Key_ClickScript", javaScript); 
于 2012-09-11T18:52:12.770 に答える