Допустим, у меня есть LineItem (из примера с чрезмерно используемой корзиной покупок), и я хочу отобразить его с помощью EditorTemplate.
Я совершенно нормально отображаю его с помощью @Html.EditorFor(m => m.LineItems) из родительского представления (частичного или иного), но что сбивает с толку, так это лучший подход для передачи некоторых дополнительных данных (скажем, SelectList, который имеет данные поступающие из базы данных) в шаблон.
Ясно, что я не должен загрязнять модель LineItem, добавляя эти посторонние элементы (которые, однако, необходимы с точки зрения представления).
Я пытаюсь увидеть, есть ли строго типизированный способ сделать это, прежде чем прибегать к трюкам ViewBag/ViewData.
Я попытался создать специальную модель представления «LineItem» для передачи данных, но она искажает имена, генерируемые MVC, и добавляет дополнительный слой в коллекцию (поскольку я передаю IEnumerable‹> модели представления в EditorFor( ) вызов вместо IEnumerable‹> фактического LineItem)
Кроме того, это неправильное использование EditorTemplate? Требует ли LineItem раскрывающийся список с параметрами, поступающими из таблицы базы данных, слишком много для EditorTemplate?
Пожалуйста, направьте меня к нирване MVC. Пока жду ответов, попробую другие идеи!
Чтобы уточнить: причина, по которой я рассматриваю возможность использования EditorTemplate, связана с автоматической обработкой коллекции, которую он мне предоставляет. В противном случае весь бизнес [id] становится слишком липким.