在我的Application_Error事件处理程序中,我想为404呈现MVC-View。我不想因为SEO而重定向。
void Application_Error(...)
{
if (serverException is HttpException && ((HttpException)serverException).GetHttpCode() == 404)
{
Server.Transfer("/error/404"); //*
}
}
// *失败,因为它找不到磁盘上的路径。当然不是因为它应该由MVC处理。
如何从Application_Error渲染MVC-View?
我不想重定向。
答案 0 :(得分:2)
只是不要使用Application_Error来处理404错误。定义捕获所有路径:
routes.MapRoute(
"Error",
"{*url}",
new { controller = "Error", action = "Http404" });
Http404
控制器的Error
操作将处理与其他路由不匹配的请求。