Есть ли способ использовать шаблоны редактора и дисплея со словарем<K, V> в ASP.NET MVC3?
Обычно я использую шаблоны Редактор и Дисплей, когда моя модель (или подмодели) List<T>
объекты. Таким образом я избегаю "портить" мой код несколькими конструкциями foreach.
Я хотел знать, есть ли способ использовать шаблоны редактора и дисплея, когда модель Dictionary<K,V>
объект вместо
Спасибо
Francesco
PS: ответы с Razor более ценятся
1 ответ
Шаблоны редактора / отображения плохо работают с Dictionary<TKey, TValue>
, Лично я избегаю использовать этот тип как таковой, особенно с EditorTemplates, так как создание правильных имен полей для подшивки модели может быть PITA.
Я бы порекомендовал вам определить модель пользовательского вида:
public class Item
{
public string Key { get; set; }
public string Value { get; set; }
}
а затем есть IEnumerable<Item>
свойство модели представления, для которого вы определяете шаблоны редактора / отображения. Это сделает вашу жизнь намного проще. Тогда все, что осталось, это сопоставить свойство вашей модели (которое потенциально может быть Dictionary<TKey, TValue>
) для просмотра свойства модели.