我正在尝试使用Ajax调用将js中的多个对象发送到C#中的控制器。
我在C#中有一个名为" Person"
的对象这是下一个:
public class Person
{
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
我在JavaScript中拥有相同的对象。
然后创建两个人,然后发送给控制器。 这是Ajax调用
$.ajax({
url: baseUrl + "/controller/TestPeople",
type: "POST",
data: {
people: people
},
success: function (resp) {
alert("ok");
}
});
这是帖子
people[0][Title]:"Mr."
people[0][FirstName]:"fname1"
people[0][LastName]:"Lname1"
people[0][Age]:23
people[1][Title]:"Mr."
people[1][FirstName]:"fname2"
people[1][LastName]:"Lname2"
people[1][Age]:25
但是当我在控制器中收到它时,一切都为空
public string TestPeople(Person[] people){
//some code
}
控制器知道有2个人,但里面的所有信息都是空的。
知道为什么吗?
To"解决"问题我改变控制器使用FormCollection
并且它正在工作,但我想知道为什么另一个不工作。
谢谢大家。
答案 0 :(得分:1)
尝试:
data : JSON.stringify(peopleArray)
在您的控制器中尝试:
public string Get(Person[] people){
//some code
}