如何从ActionFilterAttribute中RedirectToAction?

时间:2009-12-18 18:43:53

标签: asp.net-mvc

在ActionFilterAttribute中执行重定向(最好是重定向到操作)的最佳方法是什么?

我希望能够从ActionFilterAttribute中将数据传递到控制器操作中。

1 个答案:

答案 0 :(得分:11)

要重定向,请覆盖OnActionExecuting并将新RedirectToRouteResult分配给filterContext.Result

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        filterContext.Result = new RedirectToRouteResult( 
            new RouteValueDictionary { { "action", "newActionName" },
                                       { "actionArgument", someData } });
    }

要在重定向时分配数据,请将其放入路径中,如上所示。