У меня есть дисплей для коллекции SomeObject
public List<SomeObject> SomeObjects
@Html.DisplayFor(m => m.SomeObjects)
Все это отлично работает ... Затем у меня появилось требование, означающее, что мне понадобится второй другой шаблон отображения для той же коллекции ...
@Html.DisplayFor(m => m.SomeObjects, "NameOfTemplate")
Когда я это сделаю, я получаю следующее сообщение ... Я уже использовал именованные шаблоны отображения раньше, но, возможно, это работает только для примитивных типов - строк и т. Д.?
'System.Collections.Generic.List1[SomeObject]'
, но для этого словаря требуется элемент модели типа'SomeObject'
.
Добавление кода в качестве запроса
"Тестовый" DisplayTemplate
@model ViewModels.SomeObject
<p class="Namme">
<span>@Model.Name</span>
</p>
SimpleViewModel
public class SomeObject
{
public string Name { get; set; }
}
Свойство в ParentViewModel
public List<SomeObject> SomeObjects { get; set; }
Cshtml файл ..
@Html.DisplayFor(m => m.SomeObjects, "Test")
Для меня это простой вопрос: можно ли использовать именованный шаблон с коллекцией или нет? Это еще одно ограничение mvc ..
Привет, Джон