Ho un messaggio ajax in fase di costruzione in questo modo:Ajax post per regolatore ASP.net MVC - proprietà degli oggetti sono nulli
var myData = [
{
id: "a",
name: "Name 1"
},
{
id: "b",
name: "Name 2"
}
];
$.ajax({
type: 'POST',
url: '/myurl/myAction',
data: { items: myData },
dataType: 'json',
error: function (err) {
alert("error - " + err);
}
});
E un controller MVC:
[HttpPost]
public JsonResult MyAction(MyClass[] items)
{
}
MyClass
è solo una semplice rappresentazione dei dati:
public class MyClass {
public string Name {get; set; }
public string Id {get; set; }
}
Quando il JavaScript rende la richiesta pOST, l'azione di controllo fare in effetti ricevono 2 voci, tuttavia le proprietà (id, nome) in questi elementi sono nulle.
Controllo della richiesta violinista, il corpo si presenta così:
Name | Value
items[0][Name] | Name 1
items[0][Id] | a
items[1][Name] | Name 2
items[1][Id] | b
Ho perso qualcosa?
Solo una supposizione, forse è perché le proprietà sono in minuscolo in javascript e maiuscolo in C#. – Tallmaris
No, non è quello. Il serializzatore JSON non fa distinzione tra maiuscole e minuscole. –
Un altro scenario in cui le proprietà sono nulle - http://stackoverflow.com/questions/18124405/json-object-properties-are-coming-as-null – Lijo