Visual Studio 2012 で、空のテンプレートを使用して新しい ASP.NET MVC3 プロジェクトを作成しました。次にHomeController
、次のものを作成しましたActionResult
:
public ActionResult Index()
{
throw new Exception("oops!");
ViewBag.Message = "hello world";
return View();
}
次に、HomeController の簡単なビューを追加しました。
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
{root}/web.config に以下を挿入します。
<customErrors mode="On"/>
最後に、次のように変更/Views/Shared/Error.cshtml
しました。
@model System.Web.Mvc.HandleErrorInfo
@{
//Layout = null;
ViewBag.Title = "Error";
}
<h2>
Sorry, an error occurred while processing your request.
</h2>
プロジェクトを実行すると、次のようになります。
500内部サーバーエラー。Web サイトでページを表示できません...
次に、インターネットテンプレートを使用して別の ASP.NET MVC3 プロジェクトを作成することにしました。内部では、上記とまったく同じようにHomeController
をスローし、Web.config で再度Exception
オンにしました。customErrors
プロジェクトを実行すると、正しい結果が得られます。
リクエストの処理中に申し訳ありませんが、エラーが発生しました。
2 つのプロジェクトの間で何が欠けている可能性がありますか?
Web.config を 1 行ずつ調べてみましたが、違いはありませんでした。Global.asax ファイルは、両方のプロジェクトで変更されていません。