MVCContrib ActionFilter PassParametersDuringRedirect仍然在querystring中传递引用类型

时间:2010-01-06 17:46:45

标签: asp.net-mvc mvccontrib

我试图在asp.net mvc 2 rc应用程序中使用PRG模式。

我发现MVCContrib项目有一个自定义动作过滤器,可以自动保存TempData中的参数

在一个动作中我有以下

return this.RedirectToAction(c => c.Requested(accountAnalysis));

然而,这是为请求添加查询字符串参数,例如

http://mysite.com/account/add?model=MyProject.Models.AccountAnalysisViewModel

任何人都可以解释我如何使用MVCContrib的PassParametersDuringRedirect过滤器属性来不在查询字符串中传递ViewModel类型。

我看到发布patch来解决这个问题但是在支持MVC 2 RC的最新MvcContrib中,它被注释如下

public static RedirectToRouteResult RedirectToAction<T>(this Controller controller, Expression<Action<T>> action)
            where T : Controller
        {
            /*var body = action.Body as MethodCallExpression;
            AddParameterValuesFromExpressionToTempData(controller, body);
            var routeValues = Microsoft.Web.Mvc.Internal.ExpressionHelper.GetRouteValuesFromExpression(action);
            RemoveReferenceTypesFromRouteValues(routeValues);
            return new RedirectToRouteResult(routeValues);*/
            return new RedirectToRouteResult<T>(action);
        }

任何帮助都非常感激。

由于

1 个答案:

答案 0 :(得分:1)