JSON и ASP.NET MVC

Как вы возвращаете сериализованный объект JSON на клиентскую сторону с помощью ASP.NET MVC через вызов AJAX?

Ответы

Ответ 1

Из контроллера вы можете просто вернуть JsonResult:

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

Форма вызова Ajax будет зависеть от того, какую библиотеку вы используете, конечно. Используя jQuery, это будет что-то вроде:

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

где callbackFunction принимает параметр, который является данными из запроса XHR.

Ответ 2

В зависимости от ваших синтаксических предпочтений работает следующее:

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

Ответ 3

Это малый блок кода для просто понимания, как мы можем использовать JsonResults в MVC-контроллерах.

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

Ответ 4

Если вам нужно отправить JSON в ответ на GET, вам нужно явно разрешить поведение с помощью JsonRequestBehavior.AllowGet.

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