如何从ActionFilterAttribute中RedirectToAction?

Jon*_*son 5 asp.net-mvc

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

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

Cra*_*ntz 11

要重定向,覆盖OnActionExecuting并指定新RedirectToRouteResultfilterContext.Result:

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

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