У меня есть записи для перечисления, хранящиеся в таблице базы данных, только с полями: ID
и Name
. Я хочу показать значения, хранящиеся внутри этой таблицы внутри DropDownList в форме. Затем пользователь выбирает значение и отправляет форму.Создание списка DropDownList из записей базы данных, а затем привязка его к отправке формы
I found a way to easily create a DropDownList from an enumeration (хотя, вероятно, было бы лучше всего заполнить DropDownList полями Name всех записей в таблице). Тем не менее, я не нашел способ позже связать DropDownList в форме отправки целочисленного значения, которое будет помещено в базу данных (FK-PK) с другими значениями формы.
Можете ли вы привести пример кода, который иллюстрирует, как это сделать?
ОБНОВЛЕНИЕ: Спасибо за замечательный ответ. У меня есть еще один вопрос: можно ли извлечь содержимое DropDownList через AJAX и внести его в DropDownList и в SelectList в ViewModel (с параметрами ID и Name)? Я хочу выборочно извлекать контент на основе ввода, который вводит пользователь, и я хочу, чтобы ViewModel затем был заполнен данными, полученными от пользователя.
ли это * что * легко? Это называется View Model, верно? Я столкнулся с таким термином, но не знал, что это значит, и что он так же прост в использовании. Приятно, что ASP.NET MVC имеет такое хорошее связующее устройство. –
View Model - это класс, который вы предоставляете, чтобы отображать представление (данные, которые будут отображаться/редактироваться), поэтому он тесно связан с представлением. Модель, с другой стороны, представляет вашу бизнес-логику. Это может быть класс, который представляет бизнес-объекты и содержит гораздо больше полей, отображаемых в представлении. Ваши репозитории обычно работают с моделями. Поэтому в вашем контроллере вы должны использовать репозиторий для извлечения объекта модели, сопоставить его с моделью представления и передать эту модель представления в представление. На другое действие контроллера вы можете получить одну и ту же модель, но сопоставить ее с другой моделью представления. –
Большое спасибо за вашу помощь! Еще один быстрый вопрос: если я украшу свойства в моей модели ViewModel с атрибутами проверки (такими как RequiredAttributes), применяются ли они только при отправке формы и возврату ViewModel в контроллер или они будут нарушать мой код при первом создании Экземпляр ViewModel в части HttpGet? –