Ist es möglich, die @Html.EditorForModel()
Methode zu verwenden, aber meine Domain Entitäten nicht mit HiddenInput
, DataType(MultiLine)
etc wie Produkt verschmutzen .. Attribute, die die System.Web.Mvc
Montage braucht?Verwenden @ Html.EditorForModel() ohne meine Domain Einheiten mit mvc Montage verschmutzen
Antwort
Ja, es ist möglich, aber es wird die Standardeinstellung für das Rendern von Dingen verwenden.
Zum Beispiel: Strings werden eine Zeile Textfeld sein.
Es gibt keine Möglichkeit, diese Metadaten woanders abzulegen. (Es sei denn, Sie schreiben selbst einen neuen HTML-Helfer.)
Was wir normalerweise tun ist, verwenden Sie eine ViewModel
für jede Domain-Entität, und dort legen wir die Metadaten.
Ich habe normalerweise zwei Modelle - eines ist die Domain-Entität, das andere ist speziell enthält die Attribute, die ich will. Dann kartiere ich zwischen den beiden. Ich habe eine einfache Klasse, die automatisch Eigenschaften von einem Objekt zu einem anderen kopiert, aber Sie können dies manuell tun oder etwas wie Automapper verwenden. Dann verwenden Sie @ Html.EditorFor für dieses neue Modell.
Entschuldigung, aber ich habe keine Antwort. Ich denke, ich sollte Viewmodels für dieses Zeug verwenden, oder? Viewmodels zur Eingabevalidierung? – Pascal
@Pascal. Ich aktualisiere meine Antwort. Ist es jetzt klar? – gdoron
+1 für Ansichtsmodelle. –