我在每个ActionFilter
上执行全局ActionResult
。是否有可能在JsonResult
内检测到ActionResult类型(例如ActionResult
与ActionFilter
)?
例如,我希望ActionFilter
立即退出:
public JsonResult someAjaxAction()
{
}
但我希望它能在这里做到这一点:
public ActionResult PageView()
{
}
是的,我知道我可以使用ActionFilter
属性并装饰我想要执行此操作的操作,但我想将其保留为全局ActionFilter
并在内部检测我是否需要执行所需的工作。
答案 0 :(得分:5)
public class MyActionFilterAttribute : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
if (filterContext.Result is ViewResult)
{
...
}
else if (filterContext.Result is JsonResult)
{
...
}
...
}
}
答案 1 :(得分:0)
ActionExecutingContext具有名为result的属性,ActionResult类型可能会解决您的问题。