私はコントローラーを持っています:
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-params
Fancybox 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"]}