【发布时间】:2016-08-26 09:08:49
【问题描述】:
我想在我的 MVC 项目中使用自定义错误属性实现异常处理。
here 提供的第 4 个示例在我们应该在哪里输入视图名称、控制器名称等以及如何使用新属性装饰控制器和操作方面是不完整的。
任何帮助将不胜感激。
【问题讨论】:
标签: c# asp.net-mvc exception-handling
我想在我的 MVC 项目中使用自定义错误属性实现异常处理。
here 提供的第 4 个示例在我们应该在哪里输入视图名称、控制器名称等以及如何使用新属性装饰控制器和操作方面是不完整的。
任何帮助将不胜感激。
【问题讨论】:
标签: c# asp.net-mvc exception-handling
这样创建自定义错误属性
public class MyCustomErrorAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
var controllerName = filterContext.RouteData.Values["controller"];
var actionName = filterContext.RouteData.Values["action"];
//Do something with the Controller or Action, e.g. Logging the exception
base.OnException(filterContext);
}
}
然后将以下代码添加到Global.asax.cs
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(MyCustomErrorAttribute);
}
然后简单地使用控制器级别的属性
[MyCustomErrorAttribute]
public class HomeController: Controller
{
}
或在操作方法级别上
public class HomeController: Controller
{
[MyCustomErrorAttribute]
public ActionResult Index(){
}
}
【讨论】: