asp.net-mvc - ASP.NET MVC JsonResult 和 Handlebars ,没有抓地力?

标签 asp.net-mvc json asp.net-mvc-3 handlebars.js

我正在查看使用 hadlebars.js 的示例,其中模板处理如下所示:

 var source   = $("#some-template").html();
 var template = Handlebars.compile(source);
 var data = { users: [
  {username: "alan", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" },
  {username: "allison", firstName: "Allison", lastName: "House", email: "allison@test.com" },
  {username: "ryan", firstName: "Ryan", lastName: "Carson", email: "ryan@test.com" }
]};
$("#content-placeholder").html(template(data));

模板是:

  <tbody>
  {{#users}}
    <tr>
      <td>{{username}}</td>
      <td>{{firstName}} {{lastName}}</td>
      <td>{{email}}</td>
    </tr>
  {{/users}}
</tbody>

现在我有来自 ASP.NET MVC 的 JSON 结果,我想不出我应该如何描述我的模板,因为它没有“用户”属性,它看起来像:

{[{username: "alan", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" }]}

我能否以某种方式影响 JsonResult 以输出我需要的内容,或者有一种方法可以在不触及 Controller 代码的情况下修复模板?

最佳答案

在你的 Controller 中替换:

return Json(users);

与:

return Json(new { users = users });

关于asp.net-mvc - ASP.NET MVC JsonResult 和 Handlebars ,没有抓地力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8972777/

相关文章:

asp.net-mvc - MVC - 从 View 写入 Head 部分

asp.net-mvc - 如何通过 Razor View 在 MVC 的同一字段中将 1.250 显示为 1.25,将 1.256 显示为 1.256

javascript - 正则表达式在 javascript 中的值和键周围添加双引号

c# - 使用 JQuery/AJAX 将 JSON 发送到 Web 服务时出现 "Object reference not set to an instance of an object"

jquery - MVC 4 : How to use the “partial validation” technique?

c# - 如何获取mvc3 Controller 中json数组中的值?

asp.net - MVC 3/4 HttpModule 或 ActionFilter

javascript - 当用户点击浏览器中的后退按钮时如何获取上一个url

python - json.JSONDecoder().decode() 和 json.loads() 有什么区别

asp.net - 什么是 Atypon 适配器?