我试图返回一个json结果(数组); 如果我手动完成它可以工作
resources:[
{
name: 'Resource 1',
id: 1,
color:'red'
},{
name: 'Resource 2',
id: 2
}],
但是通过传递它来渲染渲染问题:
在视图上:
resources:@Model.Resources
控制器上的哪个
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
任何我出错的想法?
答案 0 :(得分:75)
应该是:
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()......