Senden eines JSON-Objekts mit jQuery erfolgreich an asp.net WebMethod

Ich habe 3 Stunden daran gearbeitet und aufgegeben. Ich versuche einfach, Daten mit jQuery an eine asp.net-Webmethode zu senden. Die Daten sind im Grunde genommen eine Reihe von Schlüssel / Wert-Paaren. Also habe ich versucht, ein Array zu erstellen und die Paare zu diesem Array hinzuzufügen.

Meine WebMethod (aspx.cs) sieht so aus (dies kann falsch sein für das, was ich in Javascript baue, ich weiß es einfach nicht):

   [WebMethod]
    public static string SaveRecord(List<object> items)
    .....

Hier ist mein Beispiel Javascript:

var items = neues Array;

    var data1 = { compId: "1", formId: "531" };
    var data2 = { compId: "2", formId: "77" };
    var data3 = { compId: "3", formId: "99" };
    var data4 = { status: "2", statusId: "8" };
    var data5 = { name: "Value", value: "myValue" };

    items[0] = data1;
    items[1] = data2;
    items[2] = data3;
    items[3] = data4;
    items[4] = data5;
Here is my jQuery ajax call:

var options = {
        error: function(msg) {
            alert(msg.d);
        },
        type: "POST",
        url: "PackageList.aspx/SaveRecord",
        data: { 'items': items },
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        success: function(response) {
            var results = response.d;
        }
    };
    jQuery.ajax(options);

Ich bekomme den Fehler -Invalid JSON primitive: items.-

Also ... wenn ich das tue:

var DTO = {'items': items};

und setze den Datenparameter wie folgt:

Daten: JSON.stringify (DTO)

dann bekomme ich diesen Fehler:

Cannot convert object of type \u0027System.String\u0027 to type \u0027System.Collections.Generic.List`1[System.Object]\u0027

Antworten auf die Frage(6)

Ihre Antwort auf die Frage