Asp.Net MVC(RC 5)中的404 Http错误处理程序
时间:2020-03-06 14:29:20 来源:igfitidea点击:
如何在框架不抛出Exception 500错误代码的情况下处理404错误?
解决方案
http://jason.whitehorn.ws/2008/06/17/Friendly-404-Errors-In-ASPNET-MVC.aspx提供了以下解释:
将通配符路由规则添加为最终规则:
routes.MapRoute("Error", "{*url}", new { controller = "Error", action = "Http404" });
任何与另一个规则不匹配的请求都将路由到错误控制器的Http404操作,我们还需要对其进行配置:
public ActionResult Http404(string url) { Response.StatusCode = 404; ViewData["url"] = url; return View(); }
如果请求确实与控制器匹配,但与动作不匹配,则还可以在控制器中覆盖HandleUnknownAction。默认实现确实会引发404错误。
抛出新的HttpException(404,"找不到资源");