【问题标题】:The page cannot be displayed because an internal server error has occurred. - MVC to show 404 custom page由于发生内部服务器错误,无法显示该页面。 - MVC 显示 404 自定义页面
【发布时间】:2016-03-24 16:38:56
【问题描述】:

我正在尝试自定义 404 页面。

我添加了一个ErrorController如下

public class ErrorController : Controller
{
    public ViewResult PageNotFound()
    {
        Response.StatusCode = 404; 
        return View();
    }
}

在以下层次结构中添加了查看文件夹错误: 视图 > 错误 > PageNotFound.cshtml - 包含我的自定义 404 消息。

在<system.web>标签的web.config文件中:

<customErrors mode="On" redirectMode="ResponseRewrite">
  <error statusCode="404" redirect="~Views/Error/PageNotFound"/>
</customErrors>

【问题讨论】:

标签: asp.net-mvc model-view-controller


【解决方案1】:

我认为 ~ 之后斜线不见了

<customErrors mode="On" redirectMode="ResponseRewrite">
  <error statusCode="404" redirect="~/Views/Error/PageNotFound"/>
</customErrors>

【讨论】:

  • 试过了,但是现在这个错误发生在“/”应用程序中的服务器错误。运行时错误描述:处理您的请求时发生异常。此外,在执行第一个异常的自定义错误页面时发生了另一个异常。请求已终止。
  • 如果他提供完整路径,他是否还需要 .cshtml 或 .htm 或任何文件扩展名?
【解决方案2】:

我认为您应该重定向到控制器操作而不是 VIEW

<customErrors mode="On" redirectMode="ResponseRewrite">
  <error statusCode="404" redirect="~/Error/PageNotFound"/>
</customErrors>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    相关资源
    最近更新 更多