Ich habe ein einfaches HTML-Formular mit ein paar Eingabefeldern. Wenn ich auf Speichern klicke, wird die richtige Methode gefunden, aber die Daten sind seltsam. Wenn ich einen Formularfeldnamen habe, der den gleichen Namen wie ein Feld in der Route hat, ist der übergebene Wert meine Formularfelderdaten, nicht die Routendaten.Seltsames Problem beim Posten in einer ASP.NET MVC-Aktion
zum Beispiel.
Stellen Sie sich vor, Sie haben die folgende Route.
// Both Get/Post
routes.MapRoute(
"User-Edit",
"user/{displayName}/edit",
new { controller = "Account", action = "edit" });
und die folgende Methode ...
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit([Bind(Exclude = "UserId")]string displayName,
FormCollection formValues)
{...}
nun feststellen, wie die Route hat die Variable displayName
und die Controller-Aktion hat auch ein Argument genannt displayName
? Nun, die Argumentdaten sind die aus dem Formular, NICHT die Route.
Ich bin mir nicht sicher, wie ich sicherstellen kann, dass die Argumentdaten die Routendaten sind?
Ist der einzige Fix hier für mich, um die Route Variable, von displayName
zu routeDisplayName
oder was auch immer ..?
El wikid :) Prost Mate. –