ASP.Net MVC - выпадающий список для связанных объектов - PullRequest
3 голосов
/ 09 марта 2009

В моем приложении две модели: Product и ProductType. Product имеет ссылку на ProductType (в БД она называется ProductTypeId), а ProductType имеет два столбца (Id и Name).

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

Контроллер:

var typeList = new SelectList(_entities.ProductType.ToList(), "Id", "Name");
ViewData["Types"] = typeList; 

Вид:

<%= Html.DropDownList("ProductType", (IEnumerable<SelectListItem>) ViewData["Types"]) %>

Однако моя проблема заключается в том, что он не обновляет модель обратно в контроллер. Если я оставлю код как есть, то ModelState будет недействительным из-за строки ProductType в представлении. Однако, если я изменю его на что-то еще, кажется, что я больше не могу ссылаться на него в контроллере.

1 Ответ

3 голосов
/ 11 марта 2009

Я только что попробовал то же самое, и у меня все заработало

Контроллер:

 public ActionResult Create()
    {
    configuratorDataContext dc = new configuratorDataContext();
    SelectList typelist = new SelectList(dc.Product_types.ToList(), "id", "Name");
    ViewData["Product_Types"] = typelist;
    ViewData.Model = new Product(); 
    return View();
    } 

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Create(Product createProduct)
    {
    // createProduct here contains correct type_id wich 
    }

вид:

  <%= Html.DropDownList("type_id", (IEnumerable<SelectListItem>) ViewData["Product_Types"])%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...