正在为所有操作调用ActionFilterAttribute

时间:2012-01-03 09:32:27

标签: .net asp.net-mvc-3 actionfilterattribute

也许我误解了ActionFilterAttribute的观点,但我现在所拥有的内容如下:

public class MyCustomAttribute : ActionFilterAttribute
{
  public override void OnActionExecuting(ActionExecutingContext filterContext)
  {
    //do something useful here
  }
}

然后在我的Home控制器中,我有以下操作方法:

public class HomeController : Controller
{
  public ActionResult Index()
  {
    return View();
  }

  [MyCustom]
  public ActionResult Test()
  {
    return View();
  }
}

我现在期望当我尝试访问OnActionExecuting/Home/Test被触发,但当我尝试访问/Home/Index时则不会被触发。

但是,两种操作方法都会被触发。我还在OnActionExecuting内部验证了实际上已调用的Index操作。

当你调用标有属性的动作方法时,是否有可能只调用OnActionExecuting

1 个答案:

答案 0 :(得分:7)

检查MyCustomAttributeGlobalFilters集合中是否存在Global.asax