尝试在 MVC 2 中使用自定义 404 和 500 错误页面时遇到一些错误。我实际上是在尝试实现我在这里找到的内容:http ://www.genericerror.com/blog/2009/ 01/27/ASPNetMVCCustomErrorPages.aspx 到目前为止,我有:
将以下行放在我的 Web.config 中:
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Error/Http500" />
在我的路由表中最后放置以下路由:
routes.MapRoute(
null,
"{*path}",
new { controller = "Error", action = "Http404" }
);
并且,创建了以下控制器:
public class ErrorController : Controller
{
//
// GET: /Error/Http500
public ActionResult Http500()
{
Response.StatusCode = (int)HttpStatusCode.InternalServerError;
return View("my500");
}
//
// GET: /Error/Http404/Path
public ActionResult Http404(string path)
{
Response.StatusCode = (int)HttpStatusCode.NotFound;
return View("my404", path);
}
}
尽管如此,对于 500 个错误,my500 视图不会被呈现。相反,它看起来像是再次显示了通用的默认 Error.aspx 视图。对于 404 错误,我收到一个 YSOD,告诉我在我的 Web.config 中打开自定义错误。我不确定我错过了什么,或者我是否在正确的轨道上。
编辑:两个视图都在视图/共享中