1

展開/折りたたむことができ、通常は折りたたむことができるセクションの束を含むasp.netフォームがあります。現在、フォーム上のほとんどのコントロールには、RequiredFieldValidator またはその他のバリデータが添付されています。ユーザーが必須フィールドに入力されていないフォームを送信しようとすると、 m は送信されませんが、ほとんどのセクションは通常折りたたまれているため、ユーザーには検証テキスト (テキスト ボックスの右側にある感嘆符など) が表示されません。エラーを修正します。私がやりたいのは、検証に失敗したコントロールを親コンテナーを展開して、失敗したコントロールをユーザーが表示できるようにすることですが、そのためには、クライアント側の検証が失敗したときに実行されるクライアント ソード JavaScript を接続する必要があります。私はそれを行う方法を見つけていません-バリデーターは当然、それらの「検証イベント」を公開して接続することはありません。

何か案は?

前もって感謝します!アンドレイ

4

1 に答える 1

1

これが私が同様の問題を解決した方法です。アコーディオンに追加されたすべてのバリデーターについて、バリデーター ID を、それが含まれているアコーディオン パネルと共に配列に格納します。次に、このリストをクライアントに渡します。また、Page.ClientScript.RegisterOnSubmitStatement を呼び出して、OnSubmit イベントにフックします。onSubmit 中に実行される JavaScript 関数は、最初にページが有効かどうかを確認します。有効な場合は終了し、有効でない場合はバリデーターのリストをループして、有効でないものを探し、見つかったら展開します。そのバリデータに関連付けられたセクション。

于 2009-08-21T14:45:32.057 に答える