如何从javascript提交带有本地列表的表单

如何从javascript提交带有本地列表的表单,javascript,c#,jquery,html,web,Javascript,C#,Jquery,Html,Web,我有一个用javascript创建的列表,我想将其发送给控制器: function submit1() { var list_id = []; var i; for(i = 0; i < @Model.Count(); i++){ var x =docuzment.getElementsByClassName("bt1")[i].getAttribute("id"); var xxx = document.getElementBy

我有一个用javascript创建的列表,我想将其发送给控制器:

function submit1() {
    var list_id = [];

    var i;

    for(i = 0; i < @Model.Count(); i++){
        var x =docuzment.getElementsByClassName("bt1")[i].getAttribute("id");
        var xxx = document.getElementById(x).style.backgroundColor;

        if (xxx == "tomato") {
            list_id.push(x);
        }
    }

    $.ajax({
        type: "POST",
        url: '@Url.Action("add_invitations", "invitations")',
        data: {list_id: String},
        success: function (data) { alert("SUCCESS"); }
    });
}
public ActionResult add_invitations(List<string> ls )
{
    ViewBag.a = ls.Count();
    return View();
}
函数submit1(){
var列表_id=[];
var i;
对于(i=0;i<@Model.Count();i++){
var x=document.getElementsByClassName(“bt1”)[i].getAttribute(“id”);
var xxx=document.getElementById(x).style.backgroundColor;
如果(xxx=“番茄”){
列表\u id.push(x);
}
}
$.ajax({
类型:“POST”,
url:'@url.Action(“添加邀请”、“邀请”),
数据:{list_id:String},
成功:函数(数据){alert(“success”);}
});
}
控制器:

function submit1() {
    var list_id = [];

    var i;

    for(i = 0; i < @Model.Count(); i++){
        var x =docuzment.getElementsByClassName("bt1")[i].getAttribute("id");
        var xxx = document.getElementById(x).style.backgroundColor;

        if (xxx == "tomato") {
            list_id.push(x);
        }
    }

    $.ajax({
        type: "POST",
        url: '@Url.Action("add_invitations", "invitations")',
        data: {list_id: String},
        success: function (data) { alert("SUCCESS"); }
    });
}
public ActionResult add_invitations(List<string> ls )
{
    ViewBag.a = ls.Count();
    return View();
}
public ActionResult添加邀请(列表ls)
{
ViewBag.a=ls.Count();
返回视图();
}

对于ls>

您没有将正确的参数传递给
操作
,它希望获得名为
ls
的参数,但在
数据
对象中,您传递的参数名为
列表id

尝试将其更改为:

 $.ajax({
        type: "POST",
        url: '@Url.Action("add_invitations", "invitations")',
        data: {ls: list_id},
        success: function (data) { alert("SUCCESS"); }
    });

我想应该是
数据:{ls:list\u id},
还是一样的例外你确定
添加邀请
支持
发布
我没有看到任何
[HttpPost]
属性吗?我把它放在get上,仍然是相同的,只是为了确保它不是
循环问题的
,尝试注释
for
循环,但不要使用空数组,而是尝试使用以下值初始化它:
var list_id=['test1','test2']好的,如果列表不是空的,我将获得警报成功,但不会重定向到操作并停留在同一页面上。如果列表为空,为什么计数会出现异常而不是0?