【发布时间】:2011-08-14 16:06:38
【问题描述】:
我有一个看起来(无论如何对我来说)是一个奇怪的问题......
我为一个 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”的模型项。选择列表项'
模板的模型声明,在两个模板id中:
@model System.Web.Mvc.SelectListItem
我不明白为什么默认模板有效而命名模板无效。任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: asp.net-mvc-3 razor editortemplates