2 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
由于您在ViewBag定義中提供了這樣的項(xiàng)目值,這清楚地表明了字符串值:
ViewBag.ItemsBag = db.Items.Select(v => new SelectListItem
{
Text = v.ItemName,
Value = v.ItemId.ToString() // implies all values are strings
});
然后與DropDownListFor/綁定的屬性ListBox必須具有List<string>或string[]類型才能正確綁定。usingICollection<Item>不會(huì)綁定,因?yàn)樗且粋€(gè)復(fù)雜的對(duì)象,而 helper 需要值類型(數(shù)字類型/字符串)才能綁定。
因此,您必須首先創(chuàng)建具有類型的屬性List<string>:
public List<string> SelectedValues { get; set; }
然后使用ListBoxFor具有該屬性的助手:
@Html.ListBoxFor(model => model.SelectedValues, new MultiSelectList(ViewBag.ItemsBag, "Value", "Text", Model.ItemsSelected.Select(x => x.Value)), new { @class = "form-control features-segments select2-multiselect-checkbox", multiple = "multiple" })
筆記:
如果ItemId屬性具有int類型(并且所有值都可以轉(zhuǎn)換為int),請(qǐng)嘗試使用List<int>/int[]類型而不是List<string>/ string[]:
public List<int> SelectedValues { get; set; }

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
請(qǐng)?jiān)?jQuery 的文檔就緒狀態(tài)下嘗試以下代碼:
var result = [1,3,5];// Array of SelectedValues$("#DropdownID").val(result); // DropdownID = your multi select dropdown Id
- 2 回答
- 0 關(guān)注
- 100 瀏覽
添加回答
舉報(bào)