Html.ListBox

1 asp.net-mvc listbox

我试图用asp.net mvc重新选择列表框中的项目

Html.ListBox("SupplierId",
             new SelectList(Model.Suppliers, "Id", "Name", Model.SelectedSuppliers))
Run Code Online (Sandbox Code Playgroud)

这是viewdata

var viewData = new ViewData.SubstrateEditViewData(
               new DataAccess.SubstrateRepository().GetItemById(id),
               new DataAccess.SupplierRepository().GetItems(),
               new DataAccess.SupplierSubstrateRepository().GetItems().Where(s =>  s.SubstrateId ==id).Select(s => s.Supplier));
Run Code Online (Sandbox Code Playgroud)

由于某种原因,即使我看到包含两个Supplier对象的Model.SelectedSupplier,它也没有选择项目.

谢谢

Ale*_*yev 6

请注意,只有项目的id应该传递给MultiSelectList()方法的selectedValues参数,因此您应该使用

Html.ListBox("SupplierId", new MultiSelectList(Model.Suppliers, "Id", "Name",
    Model.SelectedSuppliers.Select(s => s.Id)))
Run Code Online (Sandbox Code Playgroud)