enviando el objeto JSON con éxito a asp.net WebMethod, usando jQuery

He estado trabajando en esto por 3 horas y me he rendido. simplemente estoy tratando de enviar datos a un método web asp.net, usando jQuery. Los datos son básicamente un montón de pares clave / valor. Así que he intentado crear una matriz y agregar los pares a esa matriz.

Mi WebMethod (aspx.cs) se parece a esto (esto puede ser incorrecto para lo que estoy creando en JavaScript, simplemente no lo sé):

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

Aquí está mi muestra de JavaScript:

var items = new 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);

me sale el errorInvalid JSON primitive: items.-

así que ... si hago esto:

var DTO = {'items': items};

y establece el parámetro de datos como este:

datos: JSON.stringify (DTO)

entonces me sale este error:

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

Respuestas a la pregunta(6)

Su respuesta a la pregunta