也许我误解了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();
}
}我现在所期望的是,当我试图访问/Home/Test时,OnActionExecuting会被触发,但当我试图访问/Home/Index时,它不会被触发。
但是,对于两种操作方法,它都会触发。我还在OnActionExecuting内部验证了实际上正在调用的是Index操作。
有没有可能只在调用标记有该属性的操作方法时调用OnActionExecuting?
发布于 2012-01-03 17:52:03
检查MyCustomAttribute是否存在于Global.asax的GlobalFilters集合中。
https://stackoverflow.com/questions/8710180
复制相似问题