使用Jquery将多个复选框值传递给操作

使用Jquery将多个复选框值传递给操作,jquery,asp.net-mvc-2,Jquery,Asp.net Mvc 2,我有一点小问题,这让我很恼火 我有一个页面,根据搜索生成复选框列表。页面中还有一个对话框,用于在按下按钮时显示。我试图做的是从复选框中获取值,并将它们传递给控制器操作,然后控制器操作返回对话框的部分值 我遇到的问题是,我从复选框中获取值,但它们没有传递到控制器中的操作。不知道我错过了什么 我正在使用的jquery脚本 var create_dialog = jQuery("#main div#list_dialog"); // AddToList is a button for

我有一点小问题,这让我很恼火

我有一个页面,根据搜索生成复选框列表。页面中还有一个对话框,用于在按下按钮时显示。我试图做的是从复选框中获取值,并将它们传递给控制器操作,然后控制器操作返回对话框的部分值

我遇到的问题是,我从复选框中获取值,但它们没有传递到控制器中的操作。不知道我错过了什么

我正在使用的jquery脚本

 var create_dialog = jQuery("#main div#list_dialog");
        // AddToList is a button for sending values to the action
        $("#AddToList").live("click", function() {
            var myData = new Array();
            var i = 0;
            $("input:checkbox[@name='ID']").each(
                function() {
                    if (this.checked) {
                        myData[i] = this.value;
                        i++;
                    }
                });
            create_dialog.load(
        Jurat.Path.createActionPath("List", "ListValues"),
        { ID: myData },
            function() {
                create_dialog.dialog("open");
                create_dialog.find("form").validate();
            });
        });
控制器动作

[HttpPost]
public ActionResult ListValues(string ID)
{
        // Removed manipulation details
    return PartialView("ListSelection", Data);
}

我不能百分之百确定jQuery和create_对话框到底发生了什么,但在我看来,您正在向控制器传递一个数组,而控制器只是在寻找一个字符串

我认为您需要将控制器更改为:

[HttpPost]
public ActionResult ListValues(string[] ID)
{
        // Removed manipulation details
    return PartialView("ListSelection", Data);
}