У меня есть шаблон редактора (Views / Shared / EditorTemplates / HORDER.ascx), который наследует
System.Web.Mvc.ViewUserControl<CCOK2.Models.HORDER>
Моя view-модель имеет отношение один ко многим, которое я использую Html.EditorFor для отображения нескольких HORDERS
<%: Html.EditorFor(model => model.PEOPLE.HORDERS, new {fred="hello"})%>
В конце концов, я хочу передать данные для выпадающего списка, но на данный момент я просто пытаюсь передать строку "привет"
Если я добавлю следующее в HORDER.ascx
<%: ViewData.Count() %>
Я получаю вывод "0". Любая попытка завладеть данными представления не удалась.
Однако, если я использую EditorFor с одним элементом, он работает должным образом: я добавил FirstHorder в свою модель представления, установив его как model.PEOPLE.HORDERS.First (), затем <%: Html.EditorFor (model => model.FirstOrder). new {fred = "hello"})%> передает привет, как и ожидалось.
Итак ... есть ли способ заставить EditorFor работать с дополнительными данными при вызове их с отношением один-ко-многим?
EDIT:
В другом месте было предложено использовать EditorFor в цикле ForEach для отдельных HORDERS. Это работает (т. Е. Дополнительные данные представления передаются правильно), но в итоге я получаю все элементы управления, созданные EditorFor, имеющие одинаковые идентификатор и имя, а не поле PEOPLE.HORDERS [n]., Что нежелательно.