Ich habe mit JavaScript-Objekte in JSON glücklich Serialisierung daher mitÜbergeben der komplexen JSON-Zeichenfolge an 1 Parameter webmethod in C# - desearialize in Objekt (json.net)?
JSON.stringify
und Senden entlang meiner „statisch“ Webmethod in C#/asp.net und enought sicher, es kommt .. Ich muss die richtige Anzahl von Parametern Wenn mein Json-Objekt "startDate", "endDate", "reserve" hat, benötigt meine Webmethode diese als Parameter.
"Grundsätzlich mit meinem Auftragsobjekt, das ich habe, habe ich eine Reihe von Parametern auf diesem Objekt, so dass ich die gleiche Nummer in der Webmethode verwenden müsste - das ist ein bisschen unordentlich ??" - Ich werde
erklären Ich habe eine ziemlich komplexe „Order“ Objekt in Javascript und wollen es serialisiert mit stringify und es entlang meiner Webmethod schicken, aber ich will nicht alle Parameter angeben, gibt es eine Möglichkeit, diese Runde ?
Ich hatte gehofft, für so etwas auf meinem Webmethod
public static bool MakeReservation(object order)
Da ist in meinem Webmethod ich habe nur 1 Parameter aber ich kann diese dann desearilize zu einem echten Objekt C# JSON.NET. Ich habe es versucht wie das Senden der JSON über, aber weil es nur 1 Parameter auf meiner Webmethode ist fehlgeschlagen.
Im Grunde, was ich bin versucht zu sagen, wenn ich, dass ich möchte, dass meine Webmethod weiterhin zu verwenden, aber ich will nicht 15 Parameter zu tun zu haben, geben Sie auf dem Webmethod
ich die JSON wollen - String ankommen in meine Webmethode und dann kann ich es auf dem Server zerlegen.
Ist das möglich?
Hier ist, wie ich bin derzeit meine JSON an den Server (Webmethod) sendet mit 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
});
Ich habe versucht, aber es ist, als ob ich nur JSON das Objekt nicht die STRING var jsonData1 = JSONNew.stringify (orderObject); var myString = jsonData1; var jsonData = JSONNeuer.stringify (myString); –
Warum ändern Sie den ContentType? was passiert, wenn Sie das herausnehmen – redsquare
so weit ich weiß, dass Sie das brauchen .. der Inhaltstyp? Das ist, was die meisten Tutorials sagen ... Ich habe es geschafft ... aber ich habe keine Ahnung, ob es eine gute Übung ist oder ?? im Grunde habe ich das getan var jsonString = JSONNew.stringify (orderObject); var jsonObject = neues Objekt(); jsonObject.jsonString = jsonString; var jsonData = JSONNeuer.stringify (jsonObject); Jetzt brauche ich nur 1 Parameter auf der Webmethode, die eine Zeichenfolge ist und die JSON-Zeichenfolge tritt ein .. Ich habe keine Ahnung, ob es noch funktioniert .. aber zumindest ich gehe in die Webmethode mit JSonstring –