2008-09-19 20 views

Antwort

22

Von der Steuerung Sie nur eine JsonResult zurückkehren können:

public ActionResult MyAction() 
{ 
    ... // Populate myObject 
    return new JsonResult{ Data = myObject }; 
} 

Die Form des Aufrufs Ajax hängt davon ab, welcher Bibliothek Sie verwenden, natürlich. jQuery wäre es so etwas wie:

$.getJSON("/controllerName/MyAction", callbackFunction); 

wo die callbackFunction einen Parameter annimmt, die die Daten aus der XHR Anfrage sind.

+0

Wie würden Sie Parameter an MyAction übergeben? – Picflight

+0

Keine Formatierung in einem Kommentar, aber ... $ .getJSON ("/ controllerName/MyAction", {id: 7}, callbackFunction); – BenB

10

Je nach Syntax Vorlieben funktioniert auch Folgendes:

public ActionResult MyAction() 
{ 
    return Json(new {Data = myObject}); 
} 
0

Wenn Sie JSON in Antwort auf eine GET senden müssen, werden Sie explizit das Verhalten durch die Verwendung JsonRequestBehavior.AllowGet erlauben müssen.

public JsonResult Foo() 
{ 
    return Json("Secrets", JsonRequestBehavior.AllowGet); 
} 
1

Dies ist der kleine Block von Code für nur verstehen, wie wir JsonResults in MVC-Controller verwenden können.

public JsonResult ASD() 
    { 
    string aaa = "Hi There is a sample Json"; 
    return Json(aaa); 
    }