2

C#でasp .Netを使用しています。複数の Web ユーザー コントロール (.ascx) で構成されるページ (.aspx) があります。

ユーザーコントロールの1つに例外がある場合、asp .netがコントロールにわかりやすいエラーメッセージを表示するように、エラー処理メカニズムが必要です。他のすべてのコントロールは、期待どおりにレンダリングする必要があります。

例外の場合に表示/非表示にする各コントロールにプレースホルダーを配置せずにこれを行う方法はありますか?

4

3 に答える 3

1

1) app_code で、Page を継承するクラス MyPage.cs を作成します。

class MyPage : Page { }

2) ページの継承を MyPage に変更します。

public partial class _Default : MyPage { ...

必要に応じて変更するために使用できる属性が web.config にあります。

3) MyPage.cs に戻り、すべてのページの一般的なエラー ハンドラーを追加します。

protected override void OnError(EventArgs e)
{
    /* here you can intercept the error and show the controls that you want */
    base.OnError(e);
}
于 2012-07-12T20:40:04.660 に答える
-1

最初に、デフォルトのonerrorイベントをオーバーライドする基本ユーザーコントロールクラスを作成します。

 public class MyControlClass:UserControl
        {

            protected override void OnError(EventArgs e)
            {
                //here you sould add your friendly msg implementation



                //base.OnError(e); here should remain commented
            }
        }

次に、ユーザーコントロールを作成できます。

public class Control1:MyControlClass
    {
        // ....
        // ....
    }

したがって、いずれかのコントロールが例外を作成した場合、残りは機能し続けます。

于 2012-07-12T21:28:14.900 に答える