Peut-être que j'ai mal compris le point de ActionFilterAttribute, mais ce que j'ai maintenant les suivantes:ActionFilterAttribute est obtenir appelé pour toutes les actions
public class MyCustomAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//do something useful here
}
}
Puis dans mon contrôleur Home, j'ai les méthodes d'action suivantes:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[MyCustom]
public ActionResult Test()
{
return View();
}
}
ce que je me attends est maintenant que OnActionExecuting
est déclenché lorsque je tente d'accéder au /Home/Test
, mais pas quand je tente d'accéder /Home/Index
.
Cependant, il est déclenché pour les deux méthodes d'action. J'ai également vérifié dans OnActionExecuting
qu'il y a en fait l'action Index
qui s'appelle.
Est-il possible que OnActionExecuting
soit appelée uniquement lorsque vous appelez une méthode d'action marquée avec l'attribut?
supprime celui qui est présent dans global.asax. – user960567