J'ai un formulaire html simple avec quelques zones de saisie. Quand je clique sur sauvegarder, il trouve la bonne méthode mais les données sont bizarres. Lorsque j'ai un nom de champ de formulaire qui est le même nom qu'un champ dans la route, la valeur transmise est mes données de champ de formulaire, pas les données de route.Problème bizarre lors de la publication d'une action ASP.NET MVC
par exemple.
Imaginez que vous avez la route suivante.
// Both Get/Post
routes.MapRoute(
"User-Edit",
"user/{displayName}/edit",
new { controller = "Account", action = "edit" });
et la méthode suivante ...
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit([Bind(Exclude = "UserId")]string displayName,
FormCollection formValues)
{...}
Maintenant, remarquez comment la route a la variable displayName
et l'action du contrôleur a également appelé un argument displayName
? Eh bien, les données d'argument sont celles du formulaire, PAS la route.
Je ne sais pas comment je peux m'assurer que les données d'argument sont les données de route?
Est-ce que le seul correctif ici pour moi de renommer la variable route, de displayName
à routeDisplayName
ou peu importe?
El wikid :) acclamations. –