Подтвердить что ты не робот

Результат результата 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

Есть идеи, где я иду не так?

4b9b3361

Ответ 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...