C# 如何在MVC中的操作中从javascript传递选定对象的列表?

C# 如何在MVC中的操作中从javascript传递选定对象的列表?,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我有一个大数据表,每行包含一个复选框。我需要将所有被选为逗号分隔列表的项目或更好的强类型IList传递给控制器。实现这一目标的最佳方式是什么?我知道我可以传递一个没有问题的字符串,但是我如何获得选中的复选框 下面是静态代码的样子: @using (@Html.BeginForm("RemoveItems", "ResultList", new { IDList = "1,2,3,4" }, FormMethod.Post)) { <input type="submit" value

我有一个大数据表,每行包含一个复选框。我需要将所有被选为逗号分隔列表的项目或更好的强类型IList传递给控制器。实现这一目标的最佳方式是什么?我知道我可以传递一个没有问题的字符串,但是我如何获得选中的复选框

下面是静态代码的样子:

@using (@Html.BeginForm("RemoveItems", "ResultList", new { IDList = "1,2,3,4" }, FormMethod.Post))
{
    <input type="submit" value="Remove Items" name="RemoveItems" />
}

您可以使用jQuery这样做

    $.ajax({
        url: "/MyAction/Array",
        data: JSON.stringify({ model: input }),
        type: "POST",
        contentType: "application/json"
    });
这里的输入是您的数组,model-动作参数的名称。
确保您已将contentType指定为application/json。

我有一个站点可能与您的类似

我有一张每行都有复选框的桌子

我所做的是:

var firstPriorityArray = new Array();

        $("Input:checkbox[name=FirstPriority]:checked").each(function () {

            firstPriorityArray[firstPriorityArray.length] = $(this).val();
            console.log(fp.toString());
        });
console.log只能查看发生了什么以及它的外观:

之后,我使用了JSON.Stringify和一个对象,并使用AJAX将其发送回另一个ASPX站点,如下所示:

var o = new Object();
    o.primary = firstPriorityArray;

var json = JSON.stringify(o);
        $.ajax({
            url: 'getMeAJAX.aspx',
            type: 'POST',
            data: "json=" + json,
            success: function (response) {
                //On success
            },
            error: function (xhr, ajaxoptions, thrownError) {
                alert(thrownError);
            }
        });
也许你可以用这个或者受到启发。我不能说这是否是最完美、最具MVC风格的方式,但它确实有效


//Gerner

您能否详细说明每行包含哪些类型的数据以及您希望它如何工作?行数据是否经常更改?