Javascript 使用Ajax将JS对象发送到C#Controller

Javascript 使用Ajax将JS对象发送到C#Controller,javascript,c#,ajax,Javascript,C#,Ajax,我试图使用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; } } 我在JavaScri

我试图使用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个人,但是里面的所有信息都是空的

知道为什么吗

为了“解决”这个问题,我将控制器更改为使用
FormCollection
,它正在工作,但我想知道为什么另一个控制器不工作

谢谢大家。

试试:

data : JSON.stringify(peopleArray)
在控制器中,请尝试:

public string Get(Person[] people){
   //some code
}

尝试
data:people
而不是
data:{people:people}
。hi@haim770这是一个小例子,我使用它是因为我发送了多个对象,所有对象都具有相同的属性problem@TiGreX试试这个
公共字符串TestPeople([FromBody]Person[]people)
@nasredine,我仍然有相同的结果。@TiGreX您能展示一下您发送的JSON是什么样子吗?