Допустим, у меня есть индексное представление. Модель, которую я передаю, на самом деле является коллекцией моделей, поэтому свойство Html
имеет тип HtmlHelper<List<MyModel>>
. Если я хочу вызвать методы расширения (например, Display()
или DisplayFor()
для отдельных элементов в списке, я думаю, что мне нужно получить HtmlHelper<MyModel>
. Но как?
Я попытался использовать конструктор HtmlHelper<TModel>
, который выглядит следующим образом:
HtmlHelper<TModel>(ViewContext, IViewDataContainer)
Но мне не повезло с этим. Я не знаю, как получить IViewDataContainer
для предмета, и документация по этим вещам очень скудна.
Когда я делаю, по-видимому, происходит много магии ...
return View(List<MyModel>);
... в моем контроллере.
Как воссоздать эту магию для отдельных предметов в списке / коллекции?
Обновление
Вот фрагмент кода, показывающий, что я пытаюсь выполнить:
foreach(var item in items)
{
var helper = new HtmlHelper<ProjName.MyModel>(ViewContext, ????);
%>
<tr>
<%
foreach(var property in properties)
{
%>
<td>
<%= helper.Display(property.DisplayName) %>
</td>
<%
}
%>
</tr>
<%
}
По сути, я хочу заполнить ячейки таблицы, используя элементы в коллекции. Мне просто нужна помощь в установке переменной helper
.