2016-02-12 68 views
1

我將ViewBag列表傳遞給我的視圖,我試圖在列表框中顯示此列表,以便我可以選擇此列表中的項目。MVC 5 Razor - 顯示在Viewbag列表中傳遞的項目的列表框

這是視圖控制器方法:

public ActionResult AddMembers(int? id) 
     { 
      ViewBag.lstMembers = db.ClubMembers.ToList(); 

      var selClub = db.Clubs.Find(id); 
      if (id == null) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 

      return View(selClub); 

     } 

這是我目前卻是無法正確顯示的項目如下圖所示的照片:

@Html.ListBoxFor(m => m.ClubMembers, new SelectList (ViewBag.lstMembers)) 

enter image description here

如何設置我的列表框的源,以便它將顯示通過控制器方法中的ViewBag.lstMembers傳入的項目

+1

你需要指定將用來渲染的字符串表示的顯示部件和價值成員該對象,否則MVC將只調用'ToString'。 'SelectList'有一個重載的構造函數,用於這個 – Charleh

+0

[我的ASP.NET MVC SelectList有什麼問題?](http://stackoverflow.com/questions/2082069/what-is-wrong-with-my-asp -net-MVC-選擇列表的) – Charleh

回答

1

您可以使用MultiSelectList像 一些東西在行動

ViewBag.lstMembers = new MultiSelectList(db.ClubMembers.ToList(), "ValueProperty", "NameProperty"); 

在查看

@Html.ListBox("lstMembers", ViewBag.lstMembers as MultiSelectList) 
相關問題