In MVC è possibile creare un modello di editor per la T
e poi quando si vuole rendere un editor per una proprietà di tipo IEnumerable<T>
si può semplicemente fare per esempioCome creare un EditorTemplate utilizzando UIHint con una proprietà di tipo IEnumerable <T>
Html.EditorFor(m => m.MyListOfT)
La bellezza di questo è che i nomi vengono creati automaticamente dal framework per gli ingressi, e poi durante la pubblicazione di nuovo il modello vincolante tutte le opere bene.
La mia domanda è: come si fa quanto sopra quando si dispone di più di un tipo di modello di editor?
Ho provato con UIHint(), ma sembra solo per permettere di specificare l'UIHint contro la lista, piuttosto che ogni elemento della lista. Ciò significa che devi quindi creare un EditorTemplate per l'elenco, con un ciclo foreach(), e quindi perdere la simpatica auto-denominazione e associazione dei modelli.
Cosa mi manca qui?
Il modello è per esempio
public class MyViewModel
{
public IEnumerable<SomeType> SomeProperty { get; set; }
}
Idealmente voglio fare qualcosa di simile:
public class MyViewModel
{
[UIHint("SomeTypeTemplate")]
public IEnumerable<SomeType> SomeProperty { get; set; }
}
e hanno che si applicano automaticamente a tutti gli elementi della lista in modo da poter rendere con solo:
Html.EditorFor(m => m.SomeProperty)
Eccellente :-) grazie Darin – magritte