0

Page A例を単純化するので、 があるPage Bとしましょう。Page C

  1. Page Abase.OnInit()と一緒に行くpage B
  2. Page B例外をスローし、にリダイレクトさServer.TransferPage Cます。
  3. Page C例外をキャッチする必要がある try / catch があります。

私は試してみましたがServer.GetLastError()、何ももたらしませんでした(GetLastErrosはnullです)。どうすればそれを解決し、追加せず<customErrors>に対処できますweb.configか?

興味深いことに、 でデバッグしているときに、変数が正しく設定されているPage Cことがわかります。$exception

画像 -> http://www.picfront.org/d/8EeT

どうもありがとうございました。

4

2 に答える 2

0

で以下のイベントを使用しましたかWeb Page/Content Page/BasePage

protected override void OnError(EventArgs e)
{
     base.OnError(e);
}

ファイルで使用Application_Errorしましたか?Global.asax

void Application_Error(object sender, EventArgs e)
{
      // Code that runs when an unhandled error occurs
}
于 2012-05-10T08:34:18.027 に答える
0

あなたのページ Cは、ページ Bの例外について何も知りません。ページ Bでスローされた例外はそこで処理されます。

ページ Cに表示されているのは、このページ スタック トレースの非公開メンバーだと思い$exceptionます。

ページ Cを一般的なエラー ハンドラーとして機能させるには、例外に関する情報を渡す必要があります。クエリ文字列パラメーターでこれを行うこともできますが、これが簡単に保守可能なソリューションになるとは思えません。

おそらくマスターページを使用して、汎用イベントハンドラーを提供すると、専用ページの代わりにより良いソリューションが提供される可能性がありますが、私はこれを試していません.

于 2012-05-10T08:19:35.553 に答える