我有一个列表,我在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;
的空引用异常答案 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"); }
});