加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 错误处理在asp.net mvc 3

发布时间:2020-12-15 21:08:40 所属栏目:asp.Net 来源:网络整理
导读:有没有内置或适当的方式来处理错误asp.net mvc 3? 这是我想做的: 如果应用程序崩溃或抛出错误,它会转到特定的错误页面。 我可以从控制器操作中抛出我自己的错误。 (并转到错误页面)。 我发现了以下几种方式: 我看到有很长的路要走 here.(对于v1和v2,但
有没有内置或适当的方式来处理错误asp.net mvc 3?

这是我想做的:

>如果应用程序崩溃或抛出错误,它会转到特定的错误页面。
>我可以从控制器操作中抛出我自己的错误。 (并转到错误页面)。

我发现了以下几种方式:

>我看到有很长的路要走
here.(对于v1和v2,但也
适用于v3)。
>使用errorhandle属性here。

我如何处理这个正确的方法?

如果解决方案类似或像上面的列表中的#1,我使用ninject和我没有创建一个基类。我如何仍然这样做?

解决方法

用于全局错误处理
所有你需要做的是在web.config页面中更改customErrors模式=“开”
错误将通过Error.cshtml显示在共享文件夹中。
确保Error.cshtml布局不为null。
[它应该是这样:@ {Layout =“?/ Views / Shared / _Layout.cshtml”; }}
或删除Layout = null代码块]

Error.cshtml的示例标记: –

@{ Layout = "~/Views/Shared/_Layout.cshtml"; } 

@model System.Web.Mvc.HandleErrorInfo

<!DOCTYPE html>
<html>
<head>
    <title>Error</title>
</head>
<body>
    <h2>
        Sorry,an error occurred while processing your request.
    </h2>
    <p>Controller Name: @Model.ControllerName</p>
    <p>Action Name : @Model.ActionName</p>
    <p>Message: @Model.Exception.Message</p>
</body>
</html>

用于特定错误处理
将HandleError属性添加到控制器类中的特定操作。为该特定错误提供“视图”和“ExceptionType”。
示例未实现异常处理程序:

public class MyController: Controller
    {
        [HandleError(View = "NotImplErrorView",ExceptionType=typeof(NotImplementedException))]
        public ActionResult Index()
        {
            throw new NotImplementedException("This method is not implemented.");
            return View();
        }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读