Извините, что сделал это ответом, а не комментарием - не имею права комментировать.

я есть, как мне кажется, странная проблема ...

Я создал простой шаблон редактора для 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

Я не понимаю, почему шаблон по умолчанию работает, а названный шаблон - нет. Любая помощь будет оценена.

Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос