1

繰り返しますが、リダイレクト後にデータにアクセスする方法を説明する複数の記事があります。しかし、私の目的には役立ちません。

インデックスアクションメソッドとエラーインデックスビューを持つエラーコントローラーがあります。

アプリケーションにエラーがある場合、Application_Error イベントでキャッチされます。

Application_Error イベント内で、エラーをログに記録し、次のようなエラー インデックス ページにリダイレクトしました -

protected new void Application_Error(object sender, EventArgs e)
{
     Exception error = Server.GetLastError();
     log.error(error.Message);
     HttpContext.Current.Response.Redirect("~/Error/Index");
}

エラーインデックスビューで、エラーメッセージを表示したいと思います。Error Index ビューでアクセスできる Application_Error イベントではどうすればよいですか?

更新: Session オブジェクトは Application_Error イベントで使用できない可能性があるため、Session を使用したくありません。これは、エラーがいつ発生したかによって異なります。

4

2 に答える 2

1

値を取得するために使用TempDataします。

についてのいくつかの機能TempData

  • TempDataは、TempDataDictionary クラスから派生し、短命セッションに格納されるディクショナリ オブジェクトです。
  • TempDataは、リダイレクトの場合に、現在のリクエストから後続のリクエスト手段にデータを渡すために使用されます。
  • その寿命は非常に短く、ターゲット ビューが完全に読み込まれるまでしか存在しません。

  • 複雑なデータ型の型キャストが必要であり、エラーを回避するために null 値をチェックします。

  • エラーメッセージ、検証メッセージなどの1回限りのメッセージを保存するために使用されます。

于 2013-07-24T05:32:47.150 に答える