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

Has*_*iny 3 .net asp.net asp.net-mvc

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

<customErrors mode="On">
  <error statusCode="404" redirect="/errors/Error404" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

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

return HttpNotFound();
Run Code Online (Sandbox Code Playgroud)

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

Ghi*_*nio 5

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

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

  • 就我而言,它不是 404 的浏览器默认页面。它实际上显示 IIS 404 错误页面。 (2认同)