Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何避免特定动作调用另一个动作方法MVC_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 如何避免特定动作调用另一个动作方法MVC

Asp.net mvc 如何避免特定动作调用另一个动作方法MVC,asp.net-mvc,Asp.net Mvc,我有几个动作方法可以在页面上的每个动作上启动。 与此类关联的属性之一已定义自定义属性,此inturn将调用在同一控制器类中定义的方法(action=method) 但不应在所有操作上调用此操作方法,如何在重定向到此特定操作之前进行检查?您可以从筛选器上下文或控制器上下文对象中读取路由数据中当前操作的值,如下所示: public class MyAttribute : ActionFilterAttribute { public override void OnResultExecutin

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


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

您可以从筛选器上下文或控制器上下文对象中读取路由数据中当前操作的值,如下所示:

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