« コードビハインド | メイン | コネクションプーリング »

ASP.NETでエラーチェックを行う際の注意点

ASP.NETでは入力データに対するエラーチェック専用の
コントロールがサポートされている。

エラーチェック用のコントロールを画面に貼り付け、
適切なプロパティを入力してあげればよいのだが、
以下の点に注意して設計/実装する必要がある。

1. エラーチェックがNGだった場合でも、
各イベントハンドラは実行されてしまう。

エラーチェックがNGだった場合に、
イベントハンドラを実行しないようにするためには
イベントハンドラの最初に以下のような1行を入れる。

if (!Page.IsValid) return;

2. エラーチェックはChange系イベントハンドラと
Action系イベントハンドラの間に行われる。

ゆえに、Change系イベントハンドラで

if (!Page.IsValid) return;

を呼ぶとエラーが発生する。
Change系イベントハンドラでエラーチェックの成功/失敗を判断したい場合には
明示的にPage.Validate()を呼ぶ必要がある。

トラックバック

このエントリーのトラックバックURL:
http://www.mojao.net/mt/mt-tb.cgi/37

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)