Использование EditorFor <> для отображения выпадающего списка - PullRequest
4 голосов
/ 13 октября 2009

Пока что мы можем использовать Html.EditorFor () для динамического рендеринга соответствующего шаблона для типа данных - например, string, int или пользовательский тип, скажем 'Address'.

Теперь я хочу использовать EditorFor () для рендеринга поля 'Parent'. Я хочу раскрывающийся список, содержащий каждую строку, и пользователь выбирает родителя из этого раскрывающегося списка.

Шаблон 'Parent' имеет доступ к 'ParentID', но как насчет имен и идентификаторов строк, чтобы заполнить список списком?

Откуда они?

Я мог бы добавить логику доступа к данным в шаблон, но это нарушило бы разделение интересов.

Я мог бы создать HtmlHelper, который визуализирует список, но разве это не нарушит разделение задач, поскольку HtmlHelpers должен выполнять только пользовательский интерфейс, а не доступ к данным?

Есть идеи?

1 Ответ

2 голосов
/ 13 октября 2009

Вы могли бы попробовать подход MVVM, может быть? Ваша ViewModel будет содержать все данные, необходимые для отображения выпадающего списка, а также модель «редактирования» для хранения ввода пользователя в POST, который, как я полагаю, будет просто ID-номером в этом случае.

...