MVCContrib ActionFilter PassParametersDuringRedirect transmet toujours le type de référence dans la chaîne de requête
-
19-09-2019 - |
Question
J'essaie d'utiliser le modèle PRG dans une application asp.net mvc 2 rc.
J'ai trouvé que le projet MVCContrib dispose d'un filtre d'action personnalisé qui conservera automatiquement les paramètres dans TempData.
Dans une action j'ai ce qui suit
return this.RedirectToAction(c => c.Requested(accountAnalysis));
cependant, cela ajoute un paramètre de chaîne de requête à la requête, par exemple
http://mysite.com/account/add?model=MyProject.Models.AccountAnalysisViewModel
Quelqu'un peut-il expliquer comment je peux utiliser l'attribut de filtre PassParametersDuringRedirect de MVCContrib pour ne pas transmettre le type ViewModel dans la chaîne de requête.
Je vois un correctif a été publié pour résoudre ce problème, mais dans la dernière version de MvcContrib prenant en charge MVC 2 RC, il est commenté comme suit
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);
}
Toute aide très appréciée.
Merci
La solution
Corrigé après une conversation avec Jeremy Skinner.
http://github.com/mvccontrib/MvcContrib/commit/135411386b6817def9aaa493493ff582788ba377