In MVC Sie eine Editor Vorlage für T
erstellen können und dann, wenn Sie einen Editor für eine Eigenschaft des Typs machen wollen IEnumerable<T>
Sie einfach zum Beispiel tun könnenWie ein EditorTemplate erstellen mit UIHint mit einer Eigenschaft vom Typ IEnumerable <T>
Html.EditorFor(m => m.MyListOfT)
Das Schöne daran ist, dass Namen werden automatisch durch den Rahmen für die Eingänge angelegt, und dann, wenn das Modell gut alle Arbeiten verbindlich Entsendung zurück.
Meine Frage ist: Wie machen Sie das oben, wenn Sie mehr als eine Art von Editor-Vorlage haben?
Ich habe versucht mit UIHint(), aber es scheint nur Ihnen zu erlauben, die UIHint gegen die Liste, anstatt jedes Element in der Liste anzugeben. Das bedeutet, dass Sie dann ein EditorTemplate für die Liste erstellen müssen, mit einer foreach() - Schleife, und dann verpassen Sie die nette automatische Benennung und Modellbindung.
Was fehlt mir hier?
Das Modell ist z.B.
public class MyViewModel
{
public IEnumerable<SomeType> SomeProperty { get; set; }
}
Idealerweise möchte ich etwas tun:
public class MyViewModel
{
[UIHint("SomeTypeTemplate")]
public IEnumerable<SomeType> SomeProperty { get; set; }
}
und haben diese automatisch auf alle Elemente in der Liste anwenden, so kann ich mit nur machen:
Html.EditorFor(m => m.SomeProperty)
Hervorragend :-) Danke daran – magritte