MVCContrib ActionFilter PassParametersDuringRedirect все еще передает ссылочный тип в строке запроса - PullRequest
2 голосов
/ 06 января 2010

Я пытаюсь использовать шаблон PRG в приложении asp.net mvc 2 rc.

Я обнаружил, что проект MVCContrib имеет фильтр пользовательских действий, который автоматически сохраняет параметры в TempData

В действии у меня есть следующее

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

однако это добавляет параметр запроса к запросу, например,

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

Может кто-нибудь объяснить, как я могу использовать атрибут фильтра PassParametersDuringRedirect из MVCContrib, чтобы не передавать тип ViewModel в строке запроса.

Я вижу, что патч был выпущен, чтобы исправить это, однако в последнем MvcContrib, который поддерживает MVC 2 RC, он прокомментирован следующим образом

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 Ответ

1 голос
/ 07 января 2010

Исправлено после разговора с Джереми Скиннером.

http://github.com/mvccontrib/MvcContrib/commit/135411386b6817def9aaa493493ff582788ba377

...