我在每个ActionFilter上执行一个全局ActionResult。是否可以检测JsonResult中的ActionResult类型(例如ActionResultActionFilter)?

例如,我希望ActionFilter立即在这里退出:

public JsonResult someAjaxAction()
{
}


但我想在这里做到这很神奇:

public ActionResult PageView()
{
}


是的,我知道我可以只使用ActionFilter属性并装饰要执行此操作的动作,但是我想将其保留为全局ActionFilter并在动作内部检测是否需要执行所需的工作。

最佳答案

public class MyActionFilterAttribute : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        if (filterContext.Result is ViewResult)
        {
            ...
        }
        else if (filterContext.Result is JsonResult)
        {
            ...
        }
        ...
    }
}

关于c# - 在ActionFilter中检测ActionResult类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9391242/

10-10 13:53