Как я могу объявить раскрывающееся окно в представлении, чтобы задать значение модели в ASP.NET MVC?

#asp.net-mvc

Вопрос:

Я хотел бы объявить выпадающее окно в представлении в ASP.NET Приложение MVC, позволяющее пользователю выбрать значение поиска. Я знаю, как объявлять текстовые поля, но есть ли официальный помощник для объявления выпадающих списков (средства выбора даты и времени и прочее)?.

Я также не знаю, какую структуру я должен передать своему представлению для указания значений в раскрывающемся списке. Я предполагаю, что мне нужны как удостоверение личности, так и описание.

Наконец, как мне передать выбранный идентификатор из выпадающего списка обратно в действие в контроллере?

Комментарии:

1. Рассмотрите возможность изменения заголовка из поля со списком в раскрывающееся поле. Поле со списком-это раскрывающееся поле, включающее текстовое поле для ввода нового элемента. Люди, которые хотят реализовать поле со списком в MVC, здесь неправильно перенаправлены. Видишь en.wikipedia.org/wiki/Combo_box

Ответ №1:

Если у вас есть таблица типов продуктов с описанием и значением ( идентификатором), которое вы хотите сопоставить с раскрывающимся списком, выполните следующие действия в своем действии в контроллере.

 //Lets assume you retrieve your product types somehow here
ViewData["ProductTypes"] =  new List<ProductType>();
 

Затем в своем представлении введите следующее

 <%= Html.DropDownList("productType",
    new SelectList((IEnumerable)ViewData["ProductTypes"],
    "TypeID", "Description"))%>
 

Идентификатор типа и описание относятся к свойствам вашего объекта типа ProductType

Кроме того, вы можете не найти раскрывающийся список Html.если у вас установлена более старая версия MVC, убедитесь, что у вас есть бета-версия , прежде чем попробовать это.

Ответ №2:

Вы можете ознакомиться с этой записью в блоге Скотта Гатри об обработке сценариев редактирования сообщений в форме. Он использует выпадающий список в своем примере.

Вы также можете указать список сложных объектов в раскрывающемся списке (пример Скотта Гатри этого не показывает, но он намекает на это).

Вы можете сделать что-то подобное…

 <%= Html.DropDownList("Select One", "CategoryId", ViewData.Model.Categories, "Id", "Name", ViewData.Model.SelectedCategoryId)) %>
 

«Идентификатор» и «Имя» относятся к свойствам в ваших данных просмотра.Модель.Список категорий объектов.

Если SelectedCategoryId имеет значение, то по умолчанию он будет отображаться в раскрывающемся списке.

Комментарии:

1. Я пытался сделать то, что ты предложил. Проблема в том, что я не могу найти выпадающий список. В статье говорится, что я должен включить некоторую библиотеку MVC, которую я не могу найти на своем диске. Вы случайно не знаете, где я могу его найти?