如何避免特定的动作来调用另一个动作方法MVC

时间:2013-01-19 06:40:17

标签: asp.net-mvc

我有几个动作方法可以在页面上的每个Action上启动。 与此类相关的属性之一定义了一个自定义属性,此inturn调用在同一控制器类中定义的方法(action = method)。

但是不应该对所有操作调用此操作方法,如何在重定向到此特定操作之前进行检查?

1 个答案:

答案 0 :(得分:0)

您可以从过滤器上下文或控制器上下文对象中读取RouteData中当前操作的值,如下所示:

public class MyAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        var action = filterContext.RouteData.Values["action"];
        if(action == "xxx")
             ...// then 
        base.OnResultExecuting(filterContext);
    }
}