En passant complexe chaîne JSON à 1 paramètre webmethod en c# - desearialize en objet (json.net)?

J'ai été heureux de la sérialisation avec des objets javascript en JSON à l'aide de

         JSON.stringify

Et envoyer le long de ma "statique" webmethod en c#/asp.net et assez sûr il arrive .. j'ai besoin de le bon nombre de paramètres, donc si mon objet json a "startDate","date_fin","réserve", puis mon webmethod besoins de ces paramètres.

"Au fond de ma commande objet que j'ai, j'ai un certain nombre de paramètres sur cet objet donc j'aurais besoin d'utiliser le même numéro sur le webmethod - c'est un peu brouillon??" - Je vais vous expliquer

J'ai une assez complexe de "l'Ordre" de l'objet en javascript et souhaitez sérialiser l'aide de stringify et l'envoyer à mon webmethod mais je ne veux pas de spécifier tous les paramètres est-il un moyen de les contourner cela?

Je m'attendais à quelque chose de ce genre sur mon webmethod

           public static bool MakeReservation(object order)

Ensuite dans mon webmethod j'ai seulement 1 paramètre, MAIS je peux ensuite desearilize à un vrai objet de c# à l'aide de JSON.NET. J'ai essayé comme ça envoi du json à travers mais parce qu'il ya SEULEMENT 1 paramètre sur mon webmethod sa faute.

Fondamentalement, ce que j'essaie de dire, si je que je veux continuer à utiliser mon webmethod mais je ne veux pas avoir à faire de spécifier 15 paramètres sur la webmethod

Je veux le JSON de la Chaîne d'arriver dans ma webmethod et puis je peux le décomposer sur le serveur.

Est-ce possible?

Ici est de savoir comment je suis actuellement à l'envoi de mon JSON pour le serveur (webmethod) à l'aide de jquery

    var jsonData = JSONNew.stringify(orderObject);

    $.ajax({
        type: "POST",
        url: "MyService.aspx/DoReservation",
        data: jsonData,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            success = true;
        },
        error: function(msg) {
            success = false;
        },
        async: false
    });
J'ai essayé, mais c'est comme si je viens de JSON l'objet n'est pas la CHAÎNE var jsonData1 = JSONNew.stringify(orderObject); var myString = jsonData1; var jsonData = JSONNew.stringify(myString);
pourquoi changer le contentType? ce qui se passe quand vous prenez cette sortie
comme je sais que vous avez besoin dans.. le type de contenu?? C'est ce que la plupart des tutoriels dire... j'ai réussi à le faire ... mais je n'ai aucune idée si c'est une bonne pratique ou ?? fondamentalement, j'ai fait cette var jsonString = JSONNew.stringify(orderObject); var jsonObject = new Object(); jsonObject.jsonString = jsonString ; var jsonData = JSONNew.stringify(jsonObject); Maintenant, j'ai besoin seulement de 1 le paramètre sur la webmethod qui est une chaîne et de la chaîne json entre elle .. je n'ai aucune idée si ça fonctionne encore.. mais au moins je suis entrée dans la webmethod avec jsonstring

OriginalL'auteur mark smith | 2009-07-06