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