Извините, что сделал это ответом, а не комментарием - не имею права комментировать.
я есть, как мне кажется, странная проблема ...
Я создал простой шаблон редактора для SelectListItem (SelectListItem.cshtml в папке ~ / Views / Shared / EditorTemplates), например:
<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'
Объявление модели шаблона в обоих шаблонах с идентификатором:
@model System.Web.Mvc.SelectListItem
Я не понимаю, почему шаблон по умолчанию работает, а названный шаблон - нет. Любая помощь будет оценена.
Благодарю.