在ASP MVC中更改预先填充的多选项

时间:2017-05-17 17:41:24

标签: javascript asp.net-mvc razor knockout.js

我有一个多选下拉列表字段,该下拉列表是从最终用户偶尔更新的模型中填充的。我正在尝试检索knockoutjs的选定值,所以当我将它提交到数据库时,它会发送用户选择的选项数组。

我能找到的所有示例都使用枚举或已经填充的具有固定选项的javascript对象,而不是像我的情况那样更改值。

以下是从模型中填充的表格。我已经包含了我为上下文工作的其他字段,但问题中的字段有@HTLM.DropDownList

<td><input  class='required number form-control' maxlength="9" stringlength="9" data-bind='value: id, uniqueName: true'/></td>
                    <td><input class='required form-control' data-bind='value: firstName' /></td>
                    <td><input class='required form-control' data-bind='value: lastName' /></td>
                    <td>
                        @Html.DropDownList("ID", (MultiSelectList)ViewBag.UserGroups, new { multiple = "multiple", @class = "chosen-groups"})
                    </td>
                    <td><a href='#' data-bind='click: $root.removeUser'>Delete</a></td>

我已经根据淘汰赛的可编辑网格示例here建立了淘汰赛部分

我假设它与示例中的data-bind: options有关here

1 个答案:

答案 0 :(得分:0)

Razor将根据ViewBag.UserGroups填充服务器端的选项,因此不需要options绑定。您只需将selectedOptions绑定到视图模型属性。

@Html.DropDownList("ID", (MultiSelectList)ViewBag.UserGroups,
    new { multiple = "multiple", @class = "chosen-groups",
          data_bind = "selectedOptions: yourProp" })