Извлечение выбранного элемента из выпадающего списка в MVC 3 Razor

#asp.net-mvc-3

#asp.net-mvc-3

Вопрос:

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

 ViewBag.Organizations = _frontendUserService.GetOrganizationByClientId(Constants.ClientId);
  

И я устанавливаю этот список на своей странице просмотра с выпадающим списком.

 @Html.DropDownListFor(
    model => model.Organization.OrganizationId, 
    new SelectList(
        ViewBag.Organizations as System.Collections.IEnumerable, 
        "OrganizationId", 
        "OrganizationName"),
    "-- Select Organization --")
  

Здесь я получаю идентификатор организации в качестве выбранного элемента. Вместо этого я хочу извлечь выбранный элемент как объект «Организация» в запросе POST к моему методу действия.

На самом деле, почему я хотел получить весь объект здесь, потому что, когда я запрашиваю базу данных по OrganizationId, я получаю следующую ошибку.

 Error: sequence contains more than one matching element
  

В моем приложении я использую шаблон репозитория.

Ответ №1:

Это можно было бы сделать, но я не вижу в этом смысла. Скорее всего, намного эффективнее снова извлечь его из базы данных вместо того, чтобы пытаться делать то, что вы просите.

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

1. В настоящее время я пытаюсь выполнить выборку из базы данных. Но я получаю следующую ошибку при запросе по OrganizationId. Ошибка: последовательность содержит более одного совпадающего элемента

2. Это другой вопрос. верно? В этом вопросе вы спрашиваете, как вы можете получить весь объект в сообщении, используя список выбора. Либо отредактируйте вопрос и добавьте соответствующую информацию, либо создайте новый.

Ответ №2:

Я пытался сделать что-то подобное, но безуспешно — в итоге использовал часть кода этого сайта и инструмент генератора, работает довольно хорошо:http://www.mvc3razor.com/sample-code /