Есть ли способ использовать шаблоны редактора и дисплея со словарем<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>) для просмотра свойства модели.

Другие вопросы по тегам