0

検証ルールが構成に依存しているため、頻繁に変更されるコントロールの jQuery 検証スクリプトを生成するカスタム コントロールを作成しています。要件の 1 つは、巨大なポストバックと潜在的な低帯域幅ネットワークのために、クライアント側で検証を行う必要があることです。カスタム コントロールの出力例を以下に示します。ポストバック後にjqueryが機能しなくなるという一般的な問題があり、PageLoad、Sys.Applicationなどを使用してみましたが、それでも問題はありません。私はjQuery(一般的にJS)に不慣れで、PageLoadの宣言が1つだけあるはずなのに、多くの宣言を生成するのが問題なのか疑問に思っていますか? コントロールごとに動的な検証ルールがあるため、スクリプトをハードコードすることはできません。

        output.WriteLine("<script type='text/javascript'>" +
                        "$(document).ready(" +

                        "function () {" +
                        "  $('#" + ControlToValidate + "').mouseenter(function () {" +
                        "      $('#validate_msg_" + ControlToValidate + "').text('some error');" + 
                        "  });" +

                        "});" +
                        "</script>");

        output.WriteLine("<div id='validate_msg_" + ControlToValidate + "' style='color:Red'></div");  

あなたが与えることができるどんな助けにも感謝します!

4

2 に答える 2

0

次の両方のマップに追加すると問題が解決します。最初のマップは初期ロードの後に​​呼び出され、2 番目のマップは各 AJAX 呼び出しに続いて呼び出されます。

$(document).ready(validatefunction); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(validateFunction);

于 2013-01-29T08:55:49.753 に答える
0

すべてのページロードでスクリプトファイルを使用<asp:scriptmanager>してプログラムでロードする(jscriptをファイルに入れる)必要があります。

于 2013-01-30T08:34:33.160 に答える