当我的模型(或子模型)是对象时,我通常会使用Editor和Display模板。List<T>
这样我就可以避免用几个foreach结构来“破坏”我的代码。
我想知道当模型是对象时是否有任何方法可以使用编辑器和显示模板。Dictionary<K,V>
谢谢
弗朗切斯科
PS:Razor的答案更受欢迎
当我的模型(或子模型)是对象时,我通常会使用Editor和Display模板。List<T>
这样我就可以避免用几个foreach结构来“破坏”我的代码。
我想知道当模型是对象时是否有任何方法可以使用编辑器和显示模板。Dictionary<K,V>
谢谢
弗朗切斯科
PS:Razor的答案更受欢迎
编辑器/显示模板不适用于Dictionary<TKey, TValue>
. 我个人避免使用这种类型,尤其是使用 EditorTemplates,因为为模型绑定器生成正确的字段名称可能是 PITA。
我建议您定义一个自定义视图模型:
public class Item
{
public string Key { get; set; }
public string Value { get; set; }
}
然后IEnumerable<Item>
在您定义编辑器/显示模板的视图模型上拥有一个属性。它会让你的生活更轻松。然后剩下的就是将您的模型属性(可能是 a Dictionary<TKey, TValue>
)映射到视图模型属性。