无法将json结果绑定到MVC UI

时间:2014-09-12 20:24:36

标签: json asp.net-mvc-4

我正在尝试将Json结果绑定到MVC 4.0 UI(cshtml),但看起来我错过了一些东西...... 下面是我的控制器和CSHtml页面代码片段......

你可以给我一些指示吗?我错过了什么或做错了什么?

请注意,我可以在运行应用程序时查看Json结果(所有行)...唯一的事情是它没有按照下面提到的格式显示。

正在显示的UI上的Json示例。

{"SomeCollection":[{"SequenceID":1,"Name":"test","LastName":"test2","SomeCollection":[]}

控制器

public JsonResult ShowJsonResult()
{
  return Json(new { objSrv.SomeCollection }, JsonRequestBehavior.AllowGet);
}

CSHtml页面

@model IEnumerable<Models.SmName>
@{
  Layout = null;
}

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width" />
  <title>ShowJsonResult</title>
  <script src="~/Scripts/jquery-1.10.2.js"></script>
  <script type="text/javascript">
    $(document).ready(function () {
      //$('#btnGetPersons').click(function ()//{
        $.getJSON("/Server/ShowJsonResult", null, function (data) {
          var div = $('#ajaxDiv');
          div.html("<br/> " + " testing: " + "<br/>");
          $.each(data, function (i, item) {
            printPerson(div, item);
          });
        });
      //});
    });

    function printPerson(div, item) {
      div.append("<br/>" + "Name: " + item.Name);
      $.each(item.Addresses, function (i, addr) {
        printAddress(div, addr);
     });
    }

    function printAddress(div, item) {
      div.append("<br/>" + "   " + "Line1: " + item.Name);
    }
  </script>
</head>
<body>
  <div>
    <div id="ajaxDiv"></div>
  </div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

问题在于JSON对象。您提供的JSON无法正确解析或格式不正确。请重新检查并尝试。