2009-05-29 22 views
1

フォームデータのデータベースへの保存を実行するボタンがaspxページにあるとします。関連付けられたイベントハンドラでは、更新を送信する前に、例外が発生する可能性のあるWebサービス操作から何かを読みます。エラーが発生した場合は、適切なメッセージをページに表示し、フォーム内のすべてのデータを保存します。どうすればこれを達成できますか?また、私のすべてのページはベースページから継承していますので、可能であれば、すべてのエラー処理コードをベースクラスに持つことができます。可能であれば、try-catchブロックで任意のWebサービス呼び出しを囲むことは望ましくありません。私は、Page_errorのような何らかのメソッドを自動的に呼び出す未処理の例外が発生した場合でも、フォームにデータを保持します。ASP.NETコントロールイベント例外処理

答えて

1

派生クラスから呼び出されたスーパークラス(例外的にページのテンプレートを設定する継承を使用する場合)に表示メッセージを管理するメソッドを置くことができます(おそらく、errorMessageLabelのテキストを設定します)実際に例外がスローされた場合はcatchブロックにsuperclasメソッドを呼び出すことができます。また、プログラミングスタイルによってはWebサービスが利用できない場合は手動で管理することもできます。

表示されるデータを保存する限り、ビューステートがオンで、ページを動的に作成していない場合はOKです。そうでなければ、状態情報をviewStateまたはセッションエントリに明示的に保存し、何かがおかしい。 このビットは実際にページが実際にどのように実装されているかによって異なります。