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