返回HttpNot Found不会重定向到自定义错误页面

时间:2017-02-25 13:48:15

标签: asp.net .net asp.net-mvc

我创建了一个ASP MVC Web应用程序。我为错误404表单添加了自定义错误页面。 Web配置中的自定义错误部分如下所示:

<customErrors mode="On">
  <error statusCode="404" redirect="/errors/Error404" />
</customErrors>

我有一个返回HttpNotFound结果的控制器

return HttpNotFound();

问题是它显示的是默认错误404页面而不是我的自定义错误。

1 个答案:

答案 0 :(得分:1)

正如我在上面的评论中提到的,因为是控制器返回HttpNotFound,它不会被拦截而不会被处理。浏览器接收状态代码404作为控制器的结果,然后浏览器显示它自己的404错误的默认页面

尝试在控制器操作中调用:throw new HttpException(404, "Not found")而不是HttpNotFound