2013-04-23 89 views
0

設置MultiSelectList我開發一個簡單的asp.net MVC應用程序,但我有內部多選擇列表中選擇前項的問題。這裏是我的代碼中的控制器:故障從代碼

ViewBag.Authors = new MultiSelectList(db.Authors, "AuthorId", "FullName", db.Authors.Where(a => a.Books.Any(b => b.BookId == id)).Select(a => a.AuthorId)); 

,這裏是內部視圖剃刀代碼:

<div class="editor-label"> 
    @Html.LabelFor(model => model.AuthorIds, "Authors") 
</div> 
<div class="editor-field"> 
    @Html.ListBoxFor(model => model.AuthorIds, (MultiSelectList)ViewBag.Authors) 
    @Html.ValidationMessageFor(model => model.AuthorIds) 
</div> 

它呈現多選擇列表,但它並沒有選擇項目我在代碼中設置。有什麼建議麼?

+0

請分享您預先選擇項目的代碼。 – 2013-04-23 09:16:41

+0

它在上面的控制器代碼中(ViewBag.Authors)。 – 2013-04-23 09:57:08

回答

0

我想這是回答遲了一點,但它應該工作預填充model.AuthorIds(在控制器中)到您想要在視圖中選擇的值。在SelectList上設置選定值的方法實際上是用於非強類型的Html.ListBox,而不是強類型的Html.ListBoxFor。