2016-07-06 97 views
-1

我在我的控制器创建一个列表:MVC - Dropdownlist只返回第一个值,为什么?

var items = db.Message 
       .Where(m => m.IDClient == id) 
       .Select(c => new SelectListItem 
        { 
         Value = c.IDTexte.ToString(), 
         Text = c.Sujet,  
        }); 
ViewBag.ListSujet = items; 

而我的观点:

@Html.DropDownList("ListSujet", null, new { @class = "chosen-select"}) 

但是,当我选择一个值,例如第三,它将只返回第一个值,但我不不知道为什么。

回答

0

你应该通过项目Id在模型和下拉列表绑定这对观众。

@Html.DropDownListFor(m => m.ItemID, new SelectList(ListSujet, "ID", "Value", "----Select----"), new { @class = "chosen-select" }) 

我希望它能帮到你。

1

您可以像这样修改代码:

ViewBag.ListSujet = new SelectList(db.Message.Where(m => m.IDClient == id), "IDTexte", "Sujet"); 
+0

@Ricardo Domingues参见[如何接受一个答案工作](https://meta.stackexchange.com/questions/5234/how-does-accepting- an-answer-work) – 0m3r

+0

@@ RicardoDomingues请注意并接受这个答案,如果它可以帮助你,所以人们知道这是正确的答案,并帮助他们。 –