標準の ASP.NET ページにいくつかの入力コントロールを含むフォームがあります。検証コントロールを使用して、サーバー上の入力を検証します。
検証が失敗したときにポストバックが防止されるという事実に関する問題を説明している記事がいくつかあることに気付きました。つまり、ポストバックが防止されることはありませんが、ポストバックが発生するたびに検証が行われます。つまり、ユーザーが入力フィールドの値を変更するたびにフォームが赤いテキストで塗りつぶされます (彼はよく知っていても)彼がフォームを完成させなかった!)。
このフォーラムの他の記事では、この動作は意図的であると主張しています。明らかに、ユーザーは、「送信」を押す前に何か間違ったことをしたという情報に悩まされたくありません。送信ボタンが押されたときに検証の概要のみを表示し、ポストバックでは表示しないようにコントロールを構成するにはどうすればよいですか?
注: 送信ボタンが押されたときにのみ Page.IsValid を呼び出します。それ以外の場所では呼び出しません。ありがとう。