将对象列表POST到MVC 5 Controller

我想将一个对象列表发布到MVC 5控制器,但只有NULL到达Controller方法。 这个post:

$.ajax({ type: "POST", dataType: "json", contentType: "application/json", url: "../delikte", data: JSON.stringify({ "delikte" : delikte}) }); 

转到这个MVC 5控制器:

 [HttpPost] [Route(@"delikte")] public void saveDelikte(List delikte) { ... // delikte is null } 

正如我从IE调试工具中看到的那样,POST包含以下数据:

 {"delikte":[{"VerfahrenId":"6","DeliktId":"4123"},{"VerfahrenId":"6","DeliktId":"4121"}]} 

并且应该转换为此对象的List:

 public class Delikt { public int VerfahrenId { get; set; } public int DeliktId { get; set; } } 

我认为将Delft类中的VerfahrenId和DeliktId定义为int可能会出现问题,但更改为字符串并未改变问题。

我已阅读其他主题但我找不到解决方案(我的post包含dataType,contentType,发布的信息似乎格式正确)。 我的错误在哪里?

我会尝试从POST数据中删除属性名称:

 $.ajax({ type: "POST", dataType: "json", contentType: "application/json", url: "../delikte", data: JSON.stringify(delikte) }); 

它也可能有助于明确指定值来自POST正文:

 [HttpPost] [Route(@"delikte")] public void saveDelikte([FromBody]List delikte) { ... // delikte is null }