我有一个全局 ActionFilter
在每个 ActionResult
上执行。是否可以在 ActionFilter
中检测 ActionResult 类型(例如 JsonResult
与 ActionResult
)?
例如,我希望ActionFilter
在这里立即退出:
public JsonResult someAjaxAction()
{
}
但我希望它能在这里发挥它的魔力:
public ActionResult PageView()
{
}
是的,我知道我可以只使用 ActionFilter
属性并装饰我想执行它的 Action ,但我想将它保留为全局 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/