确定控制器的OnException中的结果类型

时间:2010-08-06 15:25:34

标签: asp.net-mvc controller onexception

我正在开发一个MVC.NET 2.0项目,我试图在控制器的OnException方法中放入一些特殊的错误处理逻辑。基本上我希望能够确定引发未处理异常的控制器方法的结果类型,以便我可以以某种格式返回错误数据,具体取决于类型(JsonResult的json和ActionResult的html)。有人能指出我确定这种类型的方法吗?我非常感谢任何帮助。

提前致谢

1 个答案:

答案 0 :(得分:7)

假设您没有更改默认路由:

protected override void OnException(ExceptionContext filterContext)
{
    var action = filterContext.RouteData.Values["action"].ToString();
    var type = filterContext.Controller.GetType();
    var method = type.GetMethod(action);
    var returnType = method.ReturnType;
    //...do whatever here...
}
祝你好运!