2012-02-24 5 views
3

さて、これについてStackOverflowのすべての投稿を準備していると思いますが、運がまだありません。Asp.Net MVC 3 App HandleErrorが機能しない

私は、global.asaxで、HandleErrorAttributeフィルタが登録されていることを確認しました。 web.configにcustomErrors mode="On"を設定しました。 Error.cshtmlファイルでLayout=nullLayout="~/Views/Shared/_Layout.cshtml"に変更しました。

次に、私のアカウントコントローラのインデックスアクションにthrow Exception()を追加し、localhost:5050/Account/Indexを参照してください。しかし、標準のYSODエラースタックのものがあります。

(私の理解から、それは問題ないはずが)私も次のことを試してみた:

  1. は私のコントローラに[HandleError][HandleError(View="Error")]を追加します。
  2. web.configファイルで私のcustomErrorsにdefaultRedirect="Error"を追加

私は他に何ができますか? HandleErrorフィルタで何が起きているのか、エラービューがまったく生成されているかどうかを知る方法はありますか?

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

P.S.ちなみに、私はVS2010、IE9を使用しています&クロム

+2

_layout.cshtmlにエラーがありますか?それはそれを2回エラーにして、それだけで.Netの黄色の画面にデフォルト設定します。 –

+0

私には分かりません。これは、_ViewStartで使用されるのと同じ_Layoutファイルで、アクションからスローを削除すると、ビューが正しく表示されます。エラーはスローされません。 – RHarris

+0

エラーファイルのcustomErrors要素に表示されるパスは何ですか?あなたのcustomErrorsセクションを投稿してください –

答えて

0

いいえ、無知はではありません。いつも至福です...時々無知であることはただプレーンなイライラです!

私は自分のサイトのweb.configではなく、Viewsフォルダにあるweb.configを編集していました。

real web.configにcustomErrors mode="On"を追加すると、すばらしい結果が得られました。

お手伝いをしてくださった皆様、ありがとうございます。

0

私は問題を再現できません。 _Layout.cshtmlまたはError.cshtmlテンプレートのいずれかにエラーがある可能性が非常に高いです。あるいは、それらのテンプレートが依存している部分的なものもあります。

ステップ:

  1. Accountコントローラ上LogOnアクションのボディにthrow new Exception();を追加するWeb.configする<customErrors mode="On" />を追加し、デフォルトのテンプレート
  2. を使用して、新しいASP.NET MVC 3アプリケーションを作成します。 。
  3. は、サイトを実行し、Error.cshtmlビューが正しくあなたが得たYSODは、通常、あなたが問題を特定する必要があり、例外スタックトレースが含まれてい

レンダリングされる/account/logon

  • に移動します。したがって、問題を特定するために、問題の原因となる可能性のある潜在的なコードを削除してみてください。エラーテンプレートにLayout = nullを入れてレイアウトを削除してください。あなたはまだあなたの中Application_Errorイベントをサブスクライブしてみてください問題を特定できない場合

    enter image description here

    :とエラーがあなたのレイアウトやエラーテンプレートのいずれかで(私は疑うよう)があります場合は、これで終わるだろうGlobal.asaxを確認し、例外に関する詳細情報を入手できるかどうかを確認してください。

  • 関連する問題