我正在尝试返回JSON结果(数组);
如果我手动执行,它会起作用
resources:[
{
name: 'Resource 1',
id: 1,
color:'red'
},{
name: 'Resource 2',
id: 2
}],
但是我在传递时遇到了渲染问题:
在 View 上:
resources:@Model.Resources
在 Controller 上
public ActionResult Index()
{
...
var model = new Display();
model.Resources = GetResources();
}
public JsonResult GetResources()
{
var model = new Models.ScheduledResource()
{
id = "1",
name = "Resource"
};
return new JsonResult() { Data = model, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
在模型上
public JsonResult Resources { get; set; }
但是看一下HTML呈现的内容:
resources:System.Web.Mvc.JsonResult
有什么想法我要去哪里吗?
最佳答案
它应该是 :
public async Task<ActionResult> GetSomeJsonData()
{
var model = // ... get data or build model etc.
return Json(new { Data = model }, JsonRequestBehavior.AllowGet);
}
或更简单地说:
return Json(model, JsonRequestBehavior.AllowGet);
我确实注意到您从另一个无法运行的ActionResult调用GetResources()。如果您希望找回JSON,则应该直接从ajax调用GetResources()。
关于jquery - ASP.NET MVC返回Json结果吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16836428/