使用Select2将下拉列表中的多个选择值绑定到字符串

时间:2015-02-02 19:50:24

标签: jquery asp.net-mvc entity-framework jquery-select2

我正在使用http://select2.github.io/select2/中的JQuery Select2插件,并且在将模型绑定到多个项目时遇到问题。

我知道在为多个项目使用Select2时,您可以创建一个单独的实体来保存存储的项目,但在我的情况下,我想使用以逗号分隔的列表。

我的观看代码在这里:

<div class="col-xs-3">
    @Html.DropDownListFor(
    x => x.Quote.TypeofRoof,
    Model.RoofTypes,
    "", new { @class = "ddl", @multiple = "multiple", @style = "width:100%;height:35px" })
</div>

TypeofRoof是我的Quote类中的一个字符串:

public string TypeofRoof { get; set; }

我的问题是,当我提交选择了多个项目的表单时,只会保存第一个:

enter image description here

enter image description here

我所追求的是让模型逗号分隔值,即:

“金属,兵马俑”

1 个答案:

答案 0 :(得分:2)

使用ListBoxFor代替DropDownListFor。让你的字段数组类型:

public string[] TypeofRoof { get; set; }

然后查看:

@Html.ListBoxFor(
    x => x.Quote.TypeofRoof,
    Model.RoofTypes,
    new { @class = "ddl", multiple = "multiple", @style = "width:100%;height:35px" })