POST un elenco di oggetti per il controller MVC 5

Vorrei pubblicare un elenco di oggetti su un controller MVC 5 ma solo NULL raggiunge il metodo Controller. Questo post:

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

va a questo controller MVC 5:

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

Come posso vedere dagli strumenti di debug di IE, il POST contiene i seguenti dati:

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

E dovrebbe essere convertito in un elenco di questo object:

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

Ho pensato che potesse essere un problema dalla definizione di VerfahrenId e DeliktId come int nella class Delikt, ma il passaggio alla stringa non ha modificato il problema.

Ho letto altri thread ma non sono riuscito a trovare una soluzione (il mio post include dataType, contentType, le informazioni pubblicate sembrano nel formato giusto). Dov’è il mio errore?

Vorrei provare a rimuovere il nome della proprietà dai tuoi dati POST:

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

Può anche aiutare a specificare esplicitamente che il valore proviene dal corpo POST:

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