我是MVC3的新手。我已经为一些CRUD操作完成了一个MCV3应用程序。
现在我想在MVC3中做一些错误处理。我看过一篇关于错误处理的文章here。
答案 0 :(得分:3)
P.S我在理解这个超级通用问题时回答了这个问题。
1 - 有人可以简要介绍一下MVC中各种错误处理方法吗?
全局错误处理
您所要做的就是在web.config页面中更改customErrors mode =“On”
错误将通过Error.cshtml显示在共享文件夹中。
确保Error.cshtml布局不为空
[它应该是这样的:@ {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属性添加到控制器类中的特定操作。为该特定错误提供“查看”和“例外类型”
示例NotImplemented Exception Handler:
public class MyController: Controller
{
[HandleError(View = "NotImplErrorView", ExceptionType=typeof(NotImplementedException))]
public ActionResult Index()
{
throw new NotImplementedException("This method is not implemented.");
return View();
}
}
2 - 我们是否需要创建任何自定义类来处理错误处理?
请参阅此Implementing an Error-Handling Filter
您还应该查看Elmah Library的错误记录。