Ich versuche derzeit herauszufinden, wie Sie mehrere Felder in einer MVC 3-Ansicht an 1 -Eigenschaft in einem Ansichtsmodell binden können und was beim Versuch empfohlen wird Dies.Mehrere Felder mit derselben Eigenschaft eines MVC 3-Ansichtsmodells verbinden
Verwenden Sie ein Beispiel für die Anzahl der Minuten (nur), die es braucht, um etwas vorzubereiten.
Die Form könnte wie folgt aussehen:
Vorbereitungszeit - Stunden: [1] Minutes: [30]
und die übermittelten Formularwerte müssen in Minuten und gebunden an die PreparationTimeInMinutes Eigentum umgewandelt werden des ViewModels.
Ansichtsmodell Eigenschaft:
public short PreparationTimeInMinutes { get; set; }
und die Aussicht ist stark an das Ansichtsmodell eingegeben und hat derzeit die folgenden:
<div class="editor-label">
@Html.LabelFor(model => model.PreparationTimeInMinutes)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.PreparationTimeInMinutes)
@Html.ValidationMessageFor(model => model.PreparationTimeInMinutes)
</div>
Hier ein paar Dinge, die ich über, um nachzudenken begann zu erreichen Dies.
- Ändern die PreparationTimeInMinutes Eigenschaft auf ein Ansichtsmodell, das eine Stunde & Minute Eigenschaft hat und Editor und Anzeigevorlagen dafür schaffen, so dass MVC3 kann die Bindung und Validierung aussortieren?
- Verwenden Sie Javascript und ein verstecktes Feld für die Vorbereitungszeit.
- Ein anderer Ansatz, mit dem Sie die MVC-Modellbindung verwenden können, um so etwas zu tun?
Hat jemand irgendwelche Vorschläge für Best Practice für diese Art von Sache? oder wenn ich weit weg bin.
Bitte lassen Sie es mich wissen. Danke
Wie kann ich zwei Werte binden, während die SetProperty-Methode nur einmal aufgerufen wird unter Berücksichtigung der Reihenfolge der übermittelten Daten, habe ich einige Probleme in dieser [Frage] [http://stackoverflow.com/questions/19914955/ map-multiple-fields-to-a-property-while-binding-the-property] – Hilmi