基于ASP.NET MVC中的路径/ URL的自定义错误页面

时间:2013-03-14 14:51:59

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

是否可以根据网址或路径设置自定义错误页面?例如,我希望在/ images,/ styles,/ javascript下发生的任何404错误都会在未找到标准404的情况下快速失败。但是,其他任何东西都应该生成一个用户友好的自定义404(这可能是一个更重的响应,是一个用户友好的页面,具有正常的页面布局元素)。这可能吗?现在我正在使用这样的东西:

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="404" subStatusCode="-1" />
  <error statusCode="404" path="/notfound" responseMode="ExecuteURL" />
</httpErrors>

但这会捕获所有 404错误。

1 个答案:

答案 0 :(得分:0)

我还没有找到基于.config的解决方案来解决这个问题,但我最终做的是以下内容:

  • 我保留了<httpErrors>配置,重定向到/ Error / NotFound
  • /Error/NotFound内,我会查看我的排除条件并渲染我的错误页面的“基本”版本,这是最小和最轻,避免布局等。

    public ViewResult NotFound()
    {
        if(testForFastFail){
            return View("NotFoundBasic");
        }
    
        return View();
    }