我有什么似乎(无论如何对我来说)是一个奇怪的问题......
我为 SelectListItem(~/Views/Shared/EditorTemplates 文件夹中的 SelectListItem.cshtml)创建了一个简单的编辑器模板,例如:
<ul class="select-list-item cell-15 col-3 omega clearfix">
@Html.EditorFor(c => c.Categories)
</ul>
其中 c.Categories 是一个 IEnumerable
这工作得很好,但我想要另一个模板来呈现带有稍微不同标记的集合,所以我复制并重命名了编辑器模板,例如,“CategoryIcons.cshtm”并调用如下:
<ul class="select-list-item cell-15 col-3 omega clearfix">
@Html.EditorFor(c => c.Categories, "CategoryIcons")
</ul>
简而言之,唯一的区别是我指定了一个命名的编辑器模板。
当我打开页面时,我现在收到以下错误:
传入字典的模型项的类型为“System.Collections.Generic.List`1[System.Web.Mvc.SelectListItem]”,但此字典需要“System.Web.Mvc.SelectListItem”类型的模型项
模板的模型声明,在两个模板 id 中:
@model System.Web.Mvc.SelectListItem
我不明白为什么默认模板有效而命名模板无效。任何帮助,将不胜感激。
谢谢。