Asp.net mvc 使用JQuery/Ajax将数组对象传递给控制器的正确格式是什么?

Asp.net mvc 使用JQuery/Ajax将数组对象传递给控制器的正确格式是什么?,asp.net-mvc,vb.net,Asp.net Mvc,Vb.net,试图以以下格式将对象从JQuery传递到模型列表,但它们在VS的调试器中显示为null obj.data.GoUsers = [{ Email: 'r@gmail.com', InvitationStatus: 1 }] 虽然如果我传递以下格式,它会工作,但这种格式看起来不适合动态构建。有什么想法吗 for (i = 0; i < 3; i++) { obj.data["GoUsers[" + i + "].Email"] = "test" + i + "@g.com";

试图以以下格式将对象从JQuery传递到模型列表,但它们在VS的调试器中显示为null

obj.data.GoUsers = [{ Email: 'r@gmail.com', InvitationStatus: 1 }]
虽然如果我传递以下格式,它会工作,但这种格式看起来不适合动态构建。有什么想法吗

 for (i = 0; i < 3; i++) {
    obj.data["GoUsers[" + i + "].Email"] = "test" + i + "@g.com";
    obj.data["GoUsers[" + i + "].InvitationStatus"] = i;
 }
ajax最终呼叫

post(obj.url, $.param(obj.data), callback_function)

要将对象数组传递给MVC控制器方法,需要使用
JSON.stringify

obj.data.GoUsers = JSON.stringify([{ Email: 'r@gmail.com', InvitationStatus: 1 }, { Email: '123@gmail.com', InvitationStatus: 0 }]);
阅读以下文章以更好地理解


我想这是你的解决方案

for (i = 0; i < 3; i++) {
    obj.data["GoUsers"][i]["Email"] = "test" + i + "@g.com";
    obj.data["GoUsers"][i]["InvitationStatus"] = i;
}
(i=0;i<3;i++)的
{
对象数据[“gouser”][i][“Email”]=“test”+i+“@g.com”;
目标数据[“Gouser”][i][“邀请状态”]=i;
}

这是否回答了您的问题?如果您需要任何帮助,请告诉我@RishiI已尝试使用JSON.stringify,但无效。有什么想法吗?
内容类型和数据类型如何?尝试了所有的选择,但没有运气。唯一不确定的是,是否需要将列表对象作为函数参数传递给控制器。例如,我的ActionResult函数是作为ActionResult提交的公共函数(模型为ConfigModel)
for (i = 0; i < 3; i++) {
    obj.data["GoUsers"][i]["Email"] = "test" + i + "@g.com";
    obj.data["GoUsers"][i]["InvitationStatus"] = i;
}