2

我有一个控制器:

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... 通过data-paramsFancybox href 中的 queryString 发送属性值:

...
options.params = JSON.parse($(this).attr("data-params"));
var query = $.toQueryString(options.params);
...

问题:好吧,如果我只选中一个复选框,这在某种程度上是有效的。如果我有多个,则活页夹失败并且参数为空。

data-params 属性的内容是:

{"ids":["4","6"]}

当我只有一个值(并且有效)时,内容是:

{"ids":["4"]}
4

1 回答 1

3

我假设您正在使用 ajax 进行此调用。

如果是这样,请尝试添加

traditional: true

到您在 ajax 调用中的选项。

$.ajax({
url : 'someurl.com',
traditional:true,
data : someData
});
于 2012-12-17T20:18:46.117 回答