在 Visual Studio 2012 中,我使用Empty模板创建了一个新的 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内部服务器错误。网站无法显示页面...
然后我决定使用Internet模板创建另一个 ASP.NET MVC3 项目。在里面HomeController
我扔了一个Exception
和我上面做的一模一样的东西,然后我customErrors
在 Web.config 中再次打开。当我运行项目时,我得到了正确的结果:
抱歉,处理您的请求时出现了一个错误。
这两个项目之间我可能会缺少什么?
我逐行浏览了 Web.config 并没有发现任何差异。Global.asax 文件在两个项目中都没有改变。