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);
...

質問:チェックボックスが 1 つだけチェックされている場合、これは何とか機能しています。複数ある場合、バインダーは失敗し、パラメーターは null になります。

data-params 属性の内容は次のとおりです。

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

値が 1 つしかない (そして動作する) 場合、コンテンツは次のようになります。

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

1 に答える 1

3

この呼び出しを行うためにajaxを使用していると思います。

もしそうなら、追加してみてください

traditional: true

ajax 呼び出しのオプションに。

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