【发布时间】:2015-03-02 22:35:40
【问题描述】:
当我将属性设置为时,为什么在我的 web api 控制器中得到一个字符串
$("#ProfessionsCheckBoxes input:checked").each(function() {
professionsChecked.push($(this).attr("Id"));
});
$("#SelectedProfessions").val(professionsChecked);
SelectedProfessions 是我的视图模型中的字符串列表。 真的很郁闷 好像我勾选了两个复选框,
我在列表的 0 索引处进入我的控制器“2,3”,即:[0] = "2,3"。不是不是这样的列表:[0] ="2" 和 [1] = "3"
注1: 这就是我生成复选框的方式:
<div id="ProfessionsCheckBoxes" class="some item">
<div class="form-group thirds">
@if (Model.Professions != null)
{
foreach (var item in Model.Professions)
{
<div class="one-third">
@Html.Label(item.Name)
@Html.CheckBox(item.Name, item.IsChecked, new {id = item.Id})
</div>
}
}
</div>
</div>
注意2:我是通过使用 form.serialize() 方法的 ajax 调用提交表单。
【问题讨论】:
-
这不是发布数组的正确方法,默认模型绑定器不会理解它。检查这个haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx
标签: javascript jquery asp.net-mvc asp.net-web-api asp.net-web-api2