首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC HandleError -获取异常详细信息

MVC HandleError -获取异常详细信息
EN

Stack Overflow用户
提问于 2013-09-24 22:18:31
回答 2查看 1.6K关注 0票数 3

我有一个MVC4项目,在这个项目中,我实现了HandleError属性,以便在发生异常时显示我自己的自定义错误页面。

这是我的错误控制器:

代码语言:javascript
复制
Public Class ErrorController
    Inherits BaseController

    Function Index() As ActionResult
        Return View()
    End Function
End Class

但是,我不知道如何访问异常消息和堆栈跟踪控制器或视图。我读到它可以通过模型访问,但是如何访问模型呢?

EN

回答 2

Stack Overflow用户

发布于 2013-09-24 22:23:00

错误类型应为System.Web.Mvc.HandleErrorInfo

视图可能如下所示:

代码语言:javascript
复制
@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/

票数 2
EN

Stack Overflow用户

发布于 2013-09-24 22:34:18

您需要在Error视图中设置ModelType (在C# Razor中为@model ):

代码语言:javascript
复制
@ModelType HandleErrorInfo 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18984156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档