Выпадающий список в MVC 3 - PullRequest
2 голосов
/ 06 марта 2012

Посмотрев на множество примеров раскрывающихся меню, вот моя ситуация.

У меня есть таблица базы данных: Companies

В моей модели представления регистрации у меня есть следующее:public int? CompanyId { get; set; } (думал об изменении этого на public IEnumerable<Company> Companies { get; set; })

В моем представлении регистрации пользователь может выбрать, в какой компании он работает.Мне бы хотелось, чтобы в нашей базе данных был раскрывающийся список компаний, из которых пользователь мог бы выбирать.

У меня есть настроенный репозиторий для получения всех компаний и возврата в виде IEnumerable.

Как мне подойти к этому?Было бы мне лучше сделать это в виде модели или в контроллере?

Ответы [ 2 ]

4 голосов
/ 06 марта 2012

В вашей модели объявите два свойства.

public int? CompanyId { get; set; }
public IEnumerable<SelectListItem> Companies { get; set; }

Затем, по вашему мнению,

@Html.LabelFor(x => x.CompanyId)
@Html.DropDownListFor(x => x.CompanyId, Model.Companies)

Это создаст список выбора, который установит ваше свойство CompanyId и будет использовать компании какзначения параметров.

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

Companies.AddRange(
  aListOfCompanies.Select(x => 
    new SelectListItem { Text = x.CompanyName, Value = x.CompanyId.ToString() }));
0 голосов
/ 06 марта 2012

Создайте метод в вашей ViewModel, например (GetCompanies ()) затем в вашем контроллере создайте объект SelectList с тем, что он возвращает ваш объект viewModel. затем вы можете передать его представлению с помощью viewBag или свойства вашей модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...