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

时间:2017-06-22 12:11:30

标签: javascript c# jquery html5 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.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();
}

我总是得到ls&gt;

的空引用异常

1 个答案:

答案 0 :(得分:1)

您没有将正确的参数传递给action,它希望获得一个名为ls的参数,但是在您的data对象中,您传递的参数名为list_id }。
尝试将其更改为:

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