我创建了一个ASP MVC Web应用程序。我为错误404表单添加了自定义错误页面。 Web配置中的自定义错误部分如下所示:
<customErrors mode="On">
<error statusCode="404" redirect="/errors/Error404" />
</customErrors>
我有一个返回HttpNotFound结果的控制器
return HttpNotFound();
问题是它显示的是默认错误404页面而不是我的自定义错误。
答案 0 :(得分:1)
正如我在上面的评论中提到的,因为是控制器返回HttpNotFound,它不会被拦截而不会被处理。浏览器接收状态代码404作为控制器的结果,然后浏览器显示它自己的404错误的默认页面
尝试在控制器操作中调用:throw new HttpException(404, "Not found")
而不是HttpNotFound