asp.net-mvc - MVC ASP NET 中针对所有错误的自定义错误页面

标签 asp.net-mvc custom-error-pages

我希望在我的应用程序中具有 401、404 等错误代码的自定义错误页面。

我尝试了但不起作用? 在 Web.config 中

<customErrors mode="Off" /> //Under system.web

<httpErrors errorMode="Custom" existingResponse="Replace" >//Under system.webServer
  <clear />
  <remove statusCode="401"/>
  <error statusCode="401" responseMode="ExecuteURL" path="/Error/Unauthorized" />
  <error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
  <error statusCode="500" responseMode="ExecuteURL" path="/Error" />
</httpErrors>

我还创建了错误 Controller 和未经授权的 View 。

这怎么行?

最佳答案

示例:

web.config:

system.web中添加

<customErrors mode="RemoteOnly"  defaultRedirect="~/error">//RemoteOnly means that on local network you will see real errors
  <error statusCode="401" path="~/Error/Unauthorized" />
  <error statusCode="404" path="~/Error/NotFound" />
  <error statusCode="500" path="~/Error" />
</customErrors>

system.webServer中添加

<httpErrors errorMode="Detailed" /> 

Controller : 你的 Controller 类似于

public class ErrorController : Controller
{
    public ViewResult Index()
    {
        return View("Error");
    }
    public ViewResult NotFound()
    {
        Response.StatusCode = 404;
        return View("NotFound");
    }
}

查看: 你的看法类似于

@model System.Web.Mvc.HandleErrorInfo
@{
    Layout = "_Layout.cshtml";
    ViewBag.Title = "Error";
}
<div class="list-header clearfix">
    <span>Error</span>
</div>
<div class="list-sfs-holder">
    <div class="alert alert-error">
        An unexpected error has occurred. Please contact the system administrator.
    </div>
    @if (Model != null && HttpContext.Current.IsDebuggingEnabled)
    {
        <div>
            <p>
                <b>Exception:</b> @Model.Exception.Message<br />
                <b>Controller:</b> @Model.ControllerName<br />
                <b>Action:</b> @Model.ActionName
            </p>          
        </div>
    }
</div>

希望对您有帮助。

关于asp.net-mvc - MVC ASP NET 中针对所有错误的自定义错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43973382/

相关文章:

spring - 使用 Spring 框架自定义动态错误页面

iis-7 - 为 IIS7 网站配置带有重定向的自定义 ASP 404 页面

c# - 如何在 MVC 5 的数据库中创建新表?

symfony - 通过覆盖ExceptionController的Symfony自定义错误页面

jquery - Ajax 调用 MVC Controller 返回 "NOT FOUND"

c# - Umbraco Cast "IPublishedContent"类型到 "CustomModel"类型

python - NGINX:将请求详细信息放在自定义 404.json 返回上

asp.net-mvc - MVC DropDownListFor bool 的默认值

javascript - 从 Controller 返回多个 json 对象