我正在尝试使用asp.net mvc重新选择列表框中的项目
Html.ListBox("SupplierId",
new SelectList(Model.Suppliers, "Id", "Name", Model.SelectedSuppliers))
这是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));
由于某种原因,即使我看到包含两个供应商对象的Model.SelectedSupplier,它也没有选择项目。
由于
答案 0 :(得分:6)
请注意,只有项目的ID才能传递给 MultiSelectList()方法的 selectedValues 参数,因此您应该使用
Html.ListBox("SupplierId", new MultiSelectList(Model.Suppliers, "Id", "Name",
Model.SelectedSuppliers.Select(s => s.Id)))
答案 1 :(得分:0)
SelectList构造函数的documentation引用单个值。它看起来不像传入List或IEnumerable值会导致列表框中选择了多个值。
答案 2 :(得分:0)
selected
属性。