ActionFilterAttribute mvc需要调用一次

时间:2014-06-26 09:16:28

标签: asp.net-mvc asp.net-mvc-4 action action-filter actionfilterattribute

如果用户“A'是否允许访问此菜单,因此我创建了一个使用ActionFilterAttribute继承的类

public class SecurityFilter : ActionFilterAttribute
{

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        Log("OnActionExecuting", filterContext.RouteData);
    }
}

在我的控制器上使用此类

[SecurityFilter]
public class XYZController : Controller
{ 
 public ActionResult Index() { 
   return View(); 
   } 
 }

现在问题出现在我的View中,我有@ Html.Action()调用例如

  @Html.Action("COM")

导致再次调用onActionExecuting方法,我只想在单击菜单链接时调用它一次,并且仅在菜单重定向的情况下调用它而不是在视图内呈现的其他Action方法

1 个答案:

答案 0 :(得分:2)

使用@Html.Action进行调用时,IsChildAction的{​​{1}}属性将为true。你可以依靠它来确定你是否真的想要做某事:

filterContext

请参阅MSDN