2 Stimmen

ASP.NET MVC Einfügen von Formularwerten in ein ViewModel

Ich versuche, herauszufinden, ob es einen eingebauten Weg in ASP.NET MVC, um die Formularwerte zuweisen, die POST'd zurück zu den Eigenschaften des ViewModel, die ursprünglich an die Ansicht gesendet wurde?

Also ich denke entlang der Ideen der Dekoration einige der Eigenschaften im ViewModel mit einem Attribut und dann reflektieren über das ViewModel und mit diesem Namen Werte zu extrahieren (und zwingen) aus dem Form[] Objekt.

Ich könnte mir jedoch vorstellen, dass so etwas bereits eingebaut wurde und möchte das Rad nicht neu erfinden.

Das Problem, das ich versuche zu lösen, ist, dass ein Benutzer eine Schaltfläche auf einem Formular klickt und der Server die Daten validiert und wenn es Fehler gibt wir den Benutzer auf das Formular zurück, indem Sie das gleiche ViewModel, um die Daten zu tragen und dadurch füllen die Werte zurück in das Formular, das der Benutzer ursprünglich eingegeben.

(Ja, ich bin auch tun Client-seitige Validierung mit JavaScript, um diese leicht zu machen, aber für die Sicherheit habe ich die Validierung auf dem Server zu wiederholen).

Ideen?

2voto

Martynnw Punkte 10215

Sie können verwenden UpdateModel o TryUpdateModel in Ihrem Controller.

Ich empfehle die Verwendung einer der Überladungen, in denen Sie die zu aktualisierenden Felder angeben.

Dies wird auf Seite 78 des Berichts ausführlich erläutert. Wrox Professional ASP.net ebook (oder echapter!)

0voto

Eric Petroelje Punkte 58501

Ich glaube nicht, dass MVC so etwas eingebaut hat, oder zumindest habe ich nichts gesehen. Es wäre schön, aber wie viele andere MVC-Frameworks tun dies (Struts zum Beispiel).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X