簡體   English   中英

在EnumDropDownListFor / ListBoxFor上綁定多個值

[英]Bind multiple values on EnumDropDownListFor / ListBoxFor

我正在使用ASP.NET MVC5,我正在嘗試創建一個EnumDropDownListFor ,其中:

  • 用戶可以選擇多個值(在下拉列表中填充枚舉值)
  • 提交表單時,所選值將綁定到模型。

這是我到目前為止嘗試的內容:

@Html.ListBoxFor(m => m.SelectedHeatingTypes, new SelectList(Model.HeatingTypeItems, "Value", "Text"))
@Html.ListBoxFor(m => m.SelectedHeatingTypes, Model.HeatingTypeItems, new { @class = "form-control" })
@Html.ListBoxFor(m => m.SelectedHeatingTypes, new MultiSelectList(Model.HeatingTypeItems, "Value", "Text"))
@Html.EnumDropDownListFor(m => m.HeatingTypes, new { @class = "form-control selectpicker", @multiple = "multiple"})
@Html.ListBoxFor(m => m.HeatingTypes, Model.HeatingTypeItems, htmlAttributes: new { @class = "form-control", multiple = "multiple" })
@Html.ListBoxFor(m => m.HeatingTypes, new SelectList(Enum.GetValues(typeof(HeatingType))), new { @id = "ddlMyEnum", @multiple = "multiple" })

在我的模型上,我有兩個屬性

public IEnumerable<int> SelectedHeatingTypes { get; set; }
public IEnumerable<SelectListItem> HeatingTypeItems { get; set; }

我試圖將IEnumerable<int> SelectedHeatingTypes更改為int[] ,不再成功

如何在模型屬性上綁定多選? 我對陣列,列表,IEnumerable <>開放,我可以與服務器端一起工作......

我會查看KnockoutJs,因為這可以解決你的問題。 這是一個客戶端綁定,因此您需要將模型提供給客戶端,然后使用KO將數據綁定到UI。

https://knockoutjs.com/documentation/selectedOptions-binding.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM