Wie kann ich ein JsonResult-Objekt als String erhalten, damit ich es ändern kann?

8

Ich benutze das FlexiGrid jQuery Plugin und ich muss ein JSON-Objekt von meiner MVC-App zurückbekommen, einfach genug, wenn das FlexiGrid nur das Objekt genommen hat, aber ich muss ein paar Elemente zur Antwortzeichenfolge hinzufügen, damit es funktioniert richtig mit FlexiGrid.

Also hier ist ein Teil meines Controller-Codes:

%Vor%

Leider liefert Json(objCustomerList) im obigen Code 'System.Web.MVV.JsonResult' anstelle der gewünschten JSON-String-Daten. Ich habe auch Json(objCustomerList).ToString() versucht, nur um zu sehen, was passieren würde und das gleiche wieder.

Irgendwelche Ideen?

    
Slee 24.11.2008, 02:17
quelle

4 Antworten

2

Ich habe das Codeprojekt-Beispiel ein bisschen modifiziert:

%Vor%

Jetzt in meinem Controller rufe ich einfach an:

%Vor%

Solange das Objekt, das ich passiere, eine Liste von Objekten ist, funktioniert es perfekt.

    
Slee 25.11.2008, 19:32
quelle
15

Json() Methode in ASP.NET MVC verwendet nur die JavaScriptSerializer Klasse über die Klasse JsonResult . Sie könnten das selbst verwenden, wenn Sie das objCustomerList-Objekt mit JSON zu einer Zeichenfolge serialisieren möchten.

Meine Empfehlung wäre, einen etwas anderen Ansatz zu wählen.

  • Erstellen Sie ein Modell, das das .NET-Äquivalent des JavaScript-Objekts darstellt, das Sie erstellen wollten. Vielleicht ein FlexiGridModel-Objekt mit den Eigenschaften Page, Total, Rows und CustomerList.
  • Dann, wenn Sie das FlexiGridModel an Json() übergeben, würde es einfach funktionieren, keine Notwendigkeit, eine JSON-Zeichenfolge mit StringBuilder .
  • zu erstellen

Wenn Sie möchten, dass Ihr Code funktioniert, gibt es eine Überschreibung für JavaScriptSerializer.Serialize() Nimmt das Objekt zum Serialisieren und das StringBuilder zum Anhängen der Ergebnisse an. Welches sollte genau das sein, was Sie suchen.

Einige relevante Links:

Eric Schoonover 24.11.2008 02:23
quelle
10

Sie könnten das auch tun:

%Vor%

Einfach so: D

edit: Code high Beleuchtung

    
aslakjo 11.03.2010 12:23
quelle
0

Dieser Artikel beschreibt, wie Sie Flexigrid Schritt für Schritt mit MVC arbeiten können:

ASP.NET MVC Flexigrid-Beispiel

    
Todd Smith 24.11.2008 19:58
quelle