Ajax-Post zu ASP.net MVC-Controller - Objekteigenschaften sind null

Habe ich ein ajax-post konstruiert wie dieser:

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);
    }
});

Sowie einem MVC-controller:

[HttpPost]
public JsonResult MyAction(MyClass[] items)
{

}

MyClass ist nur eine einfache Darstellung der Daten:

public class MyClass {
    public string Name {get; set; }
    public string Id {get; set; }
}

Wenn das javascript macht die post-Anforderung, die controller-Aktion hat in der Tat erhalten, 2 Elemente, jedoch sind die Eigenschaften (id, name) diese Elemente sind null.

Überprüfung der Anfrage in fiddler, der Körper sieht wie folgt aus:

Name                 | Value
items[0][Name]       | Name 1
items[0][Id]         | a
items[1][Name]       | Name 2
items[1][Id]         | b

Habe ich etwas verpasst?

Kommentar zu dem Problem - Öffnen
Nur eine Vermutung, vielleicht ist es, weil die Eigenschaften sind in Kleinbuchstaben javascript und Großbuchstaben in C#. Kommentarautor: Tallmaris
Nein, das ist es nicht. Der JSON serializer ist nicht case sensitive. Kommentarautor: Darin Dimitrov
Ein weiteres Szenario, wo Eigenschaften sind null - stackoverflow.com/questions/18124405/... Kommentarautor: Lijo

InformationsquelleAutor der Frage Alex | 2013-05-14

Schreibe einen Kommentar