Zwingen "EditorFor" Präfix Eingabe-Elemente auf der Ansicht mit Klasse-Name?
Habe ich eine "EditorFor":
<%: Html.EditorFor(model => model.Client, "ClientTemplate", new { editing = false })%>
Dieser Bindung kommen nach unten, um die Ansicht in Ordnung (wie erwartet), aber nicht binden, binden Sie zurück, wenn Sie das Modell wird gepostet.
Dies ist bedingt durch die form-id ist nicht mit einem Präfix "Client".
In der Regel in dieser situation, die ich geben Sie nur in das Modell und binden Sie dann die Eingaben für das Modell.Client.PropertyName in der Vorlage, aber dies ist nicht eine option, in diesem Fall als Vorlage verwendet wird, auf zwei verschiedene viewmodels (haben-client auf).
Anregungen zu bekommen, diese zu binden, richtig?
Vielen Dank,
Kohan.
Nachtrag
Es scheint, das war ein Missverständnis meinerseits, das Problem, wie ich Sie jetzt verstehe, ist es, dass fluentHtml funktioniert nicht innen "EditorFor" Vorlagen. (Das gleiche gilt auch für dieses Update, die wie es sich herausstellt, war nicht notwendig, da die "EditorFor" wird das Präfix für mich automatisch, wenn ich ersetzen Sie die fluentHtml mit normalen mvc-html-Helfer)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Probieren Sie etwas wie:
Jedes Feld, die Sie mit "EditorFor", LabelFor und die likes vorangestellt werden.
BEARBEITEN:
Hier ist die extension Methode, die ich verwende, sorry!
...und die Klasse...
Finden Sie unter dem link erwähnt von Kohan in den Kommentaren unten.
MVC3-HTML-Namen der Widerstreitenden
Ausschneiden und einfügen, das funktioniert nicht in MVC3. Um die Erweiterung zu arbeiten, hatte ich eine Klasse erstellen Datei:
In der Razor - (.cshtml-Datei), habe ich noch folgende:
Beachten Sie die Verwendung, um mir extension-Klasse in scope. Sie ermöglicht, dass die zweite line zu arbeiten.
Nun das problem ist, dass bei der Buchung zurück, wird das Objekt nicht aktualisiert. In meinem controller habe ich einen zweiten parameter angeben, mein Präfix:
Diesem zusätzlichen Präfix, um alle Felder in der HTML-und der TryUpdateModel geladen, das Objekt mit dem Präfix control-Namen. Jetzt können Sie richtig namespace Ihre Steuerungen für embedded-Bearbeitung von Listen, und teilweise Blick auf die Modelle mit dem gleichen Namen für die Eigenschaft.