0
public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public ActionResult Test (List<Person> persons)
{
    ...
}

Javascript:

var person = { Name: "P1", Id: 1 };
var persons = [];
persons.push(person);
persons.push(person);
var json = JSON.stringify(persons);
$.ajax({
    url: '@Url.Action("Test")',
    type: 'GET',
    dataType: 'json',
    data: json,
    contentType: 'application/json; charset=utf-8',
});

我正在尝试使用 GET 请求将人员对象列表发送到控制器。问题是人员列表始终为空。当我发出 POST 请求时,一切正常。

是否可以使用 ajax GET 请求将复杂的 json 对象列表绑定到 C# 对象?

4

1 回答 1

1

是否可以使用 ajax GET 请求将复杂的 json 对象列表绑定到 C# 对象?

不,不是。请记住,您可以发送的查询字符串是有限制的,因此在 GET 请求中包含复杂的对象可能不是您应该做的事情。GET 动词通常用于从简单的事物(例如 ID 和其他几个查询字符串参数)中检索数据,而不是通过发送复杂的对象。

于 2013-05-09T19:50:53.440 回答