【发布时间】:2012-01-03 09:32:26
【问题描述】:
也许我误解了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?
【问题讨论】:
-
删除 global.asax 中存在的那个。
标签: .net asp.net-mvc-3 actionfilterattribute