Результат результата JSP ASP.NET MVC?
Я пытаюсь вернуть результат 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
Есть идеи, где я иду не так?
Ответы
Ответ 1
Это должно быть:
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);
Я заметил, что вы вызываете GetResources() из другого ActionResult, который не работает. Если вы хотите вернуть JSON, вы должны напрямую вызвать GetResources() из ajax...