【问题标题】:MVC4 Custom 404 page?MVC4 自定义 404 页面?
【发布时间】:2012-10-26 20:23:28
【问题描述】:

我已经把它放在 web.config <system.webServer>

<httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL">
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" subStatusCode="-1" path="/cv/" responseMode="ExecuteURL" />
</httpErrors>

这里暂时使用的路径[myapplication]/cv/返回一个页面。

但是如果我去 [myapplication]/[anything that doesn't exist] 得到 404 响应,那么什么都不会发生。

这目前正在我的旧 Web 表单站点上运行,但我无法在 MVC4 站点上运行。 我怎样才能使这项工作? (我不想使用“重定向/文件”方法)

【问题讨论】:

    标签: web-config asp.net-mvc-4 http-status-code-404


    【解决方案1】:

    这是我在当前 MVC 4 项目中所拥有的:

    <customErrors mode="On" defaultRedirect="~/Error/General">
       <error statusCode="404" redirect="~/Error/Http404" />
    </customErrors>
    

    我有一个错误控制器,以及“常规”和“Http404”(操作方法)的视图。

    像魅力一样工作。

    【讨论】:

    • 我试过很多次了,但是一直显示默认的asp错误页面
    • 您是否还创建了错误控制器和视图? stackoverflow.com/questions/13905164/…
    • 我做到了。但是,我发现了我的问题。实际上,我通常像框架一样返回一个 HttpStatusCodeResult 。显然,这不会被视为错误,因此永远不会调用自定义错误页面。我改变了我的代码来抛出一个 HttpException ,它现在可以工作了。不知道我对此有何感受
    【解决方案2】:

    部分问题也可能源于&lt;customErrors&gt; 标签不是&lt;system.webServer&gt; 的有效子标签。请尝试将其放入 &lt;system.web&gt;

    【讨论】:

      猜你喜欢
      • 2018-11-16
      • 2010-11-04
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 2017-09-23
      相关资源
      最近更新 更多