我有一个控制器:
public virtual ActionResult CreateMultiple(int[] ids)
{
...
}
在JS中,我得到所有选中的复选框,将其转换为int:
数组var params = [];
$("input:checkbox:checked.checkedPersons").each(function () { params.push($(this).val()); });
$("a.modalFormLink").attr("data-params", JSON.stringify( { "ids": params }));
然后,一旦我点击该链接,我所做的就是显示一个带有视图的Fancybox ...在Fancybox href中发送data-params
属性víaqueryString的值:
...
options.params = JSON.parse($(this).attr("data-params"));
var query = $.toQueryString(options.params);
...
问题:嗯,如果我只勾选了一个复选框,这就行了。如果我有多个,则绑定程序失败,参数为null。
data-params属性的内容是:
{"ids":["4","6"]}
当我只有一个值(并且有效)时,内容为:
{"ids":["4"]}
答案 0 :(得分:3)
我假设您正在使用ajax进行此次调用。
如果是,请尝试添加
traditional: true
在ajax调用中的选项。
$.ajax({
url : 'someurl.com',
traditional:true,
data : someData
});