2013-04-23 93 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。