MVC控制器返回JSON。但到了哪里?

时间:2015-05-31 17:56:56

标签: json asp.net-mvc controller

我是MVC的新手。所以MVC控制器主要返回一个viewresult。据我所知,该视图具有相同的动作名称。 让我们说“DoSomething”动作转到“DoSomething”视图。但是如果控制器返回一个JSON,它返回到哪里? 它是否会进入激活操作方法的页面? 让我们说“索引”引发“DoSomething”行动。如果“DoSomething”控制器返回JSON,JSON是否会转到“索引”视图? 我正在努力返回一个JSON和JQuery调用ajax,但很困惑。 谢谢。

1 个答案:

答案 0 :(得分:0)

如果Action Method返回Json,则View不会参与。在所有情况下,控制器的操作方法都会将某些内容返回给响应流。请注意下面的return语句。实际上它首先调用了视图。把它想象成一个方法调用。然后,无论view是什么,都会返回。

public ActionResult DoSomething()
{
     return View();
}

在Json的案例中,view不在其中:

public JsonResult DoSomething()
{
     var jsondata = {
     "name"    : "Mike",
     "address" : "home",
     "gender"  : "male"
    };
     return Json(jsondata, JsonRequestBehavior.AllowGet);
}

jsondata将被javascript捕获。