0

単純な 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>

複数選択リストをレンダリングしますが、コードで設定した項目は選択しません。助言がありますか?

4

1 に答える 1

0

これに答えるのは少し遅いと思いますが、ビューで選択したい値に(コントローラー内の)model.AuthorIdsを事前に入力するために機能するはずです。SelectList で選択した値を設定する方法は、厳密に型指定された Html.ListBoxFor ではなく、厳密に型指定されていない Html.ListBox で使用するためのものです。

于 2016-12-09T17:11:29.470 に答える