我有一个MVC4项目,在这个项目中,我实现了HandleError属性,以便在发生异常时显示我自己的自定义错误页面。
这是我的错误控制器:
Public Class ErrorController
Inherits BaseController
Function Index() As ActionResult
Return View()
End Function
End Class但是,我不知道如何访问异常消息和堆栈跟踪控制器或视图。我读到它可以通过模型访问,但是如何访问模型呢?
发布于 2013-09-24 22:23:00
错误类型应为System.Web.Mvc.HandleErrorInfo
视图可能如下所示:
@model HandleErrorInfo
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Error";
}
<section id="error-page">
<div>
<h1>@ViewBag.Title</h1>
<div class="alert alert-error">
An unexpected Error has occured.<br />
</div>
</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>
<pre>
@Model.Exception.StackTrace
</pre>
</div>
</div>
}
</section>如果你想知道如何在ajax和非ajax调用中获得异常模型,可以看看这篇博客文章:http://blog.christopheargento.net/2012/06/14/unify-exception-handling-between-ajax-and-non-ajax-requests-in-asp-net-mvc/
发布于 2013-09-24 22:34:18
您需要在Error视图中设置ModelType (在C# Razor中为@model ):
@ModelType HandleErrorInfo https://stackoverflow.com/questions/18984156
复制相似问题