ASP.NET MVC 返回 Json 结果?

Posted

技术标签:

【中文标题】ASP.NET MVC 返回 Json 结果?【英文标题】:ASP.NET MVC Return Json Result? 【发布时间】:2013-05-26 01:03:11 【问题描述】:

我正在尝试返回一个 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

任何想法我哪里出错了?

【问题讨论】:

JSONResult to String的可能重复 应该是:return Json(new Data = model , JsonRequestBehavior = JsonRequestBehavior.AllowGet); 【参考方案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); 

我确实注意到您正在从另一个不起作用的 ActionResult 调用 GetResources()。如果你想找回 JSON,你应该直接从 ajax 调用 GetResources()...

【讨论】:

以上是关于ASP.NET MVC 返回 Json 结果?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.Net MVC 使用 jquery-form 插件上传文件并返回 Json 结果

如何在 ASP.net MVC4 上的 webgird 中绑定 JSON 返回结果值

asp.net core mvc api 返回结果的json字段名大写小混乱的问题解决

asp.net mvc,以 JSON 形式返回多个视图

返回 JSON 或部分 html 的 ASP.NET MVC 控制器操作

asp.net core序列化json配置,适用于mvc,webapi