MVC自定义错误处理问题

时间:2014-10-27 11:13:35

标签: c# asp.net-mvc asp.net-mvc-4 error-handling

我目前正在开发MVC应用程序。我的问题是,我无法让我的客户错误处理工作正常。

基本上发生的事情是我抛出异常来在控制器中测试它。然后应用程序应该将用户重定向到〜/ Shared / Errors.cshtml但由于某种原因它不会这样做。

这是代码。

抛出异常:

throw new Exception("Something went wrong");

Webconfig文件:

<customErrors mode="RemoteOnly"/>

ErrorController代码:

  public class ErrorController : Controller
    {
        //
        // GET: /Error/
    public ActionResult Index()
    {
        return View();
    }

}

Error.cshtml中使用的代码:

@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 style="overflow:scroll">
                <pre>
                    @Model.Exception.StackTrace
                </pre>
            </div>
        </div>
    }
</div>

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:-2)

你应该返回这样的视图。

return View("~/Views/Shared/Errors.cshtml");