【问题标题】:Difficulty in binding JSON data to Jquery Datatable难以将 JSON 数据绑定到 Jquery Datatable
【发布时间】:2013-10-16 18:09:17
【问题描述】:

我在绑定 JSON 数据以构建数据表时遇到了困难。

我的 JSON 如下:

[
  {
    "ID": 1,
    "Number": "2",
    "Name": "Avinash"
  },
  {
    "ID":2,
    "Number":"21",
    "Name":"XYZ"
  },
  {
    "ID": 3,
    "Number": "20",
    "Name": "KRR"
  }
]

我将其绑定到 jquery 数据表,如下所示:

 $(document).ready(function () {
            $('#table_id').dataTable({
                "bProcessing": true,
                "bServerSide": true,
                "sAjaxSource": '<%:Url.Action("LoadData","Home")%>'
            });
            $('#table_id').css("width", "100%")
        });

我的表结构如下:

<table id="table_id" border="0" class="display" cellpadding="1" cellspacing="1" align="center">
 <thead>           
            <tr>
                 <th>ID</th>
                <th>Number</th>
                <th>Name</th>
            </tr>
        </thead>

    </table>

我收到如下错误:

  Datatables Warning(tableid="table_id"):Requested Unknown Parameter'0' from the datasource for row 0

请帮忙..

public ActionResult LoadData()
                {
                    var Data = new DataTable();
                    Data=DataModel.LoadData();
                    var JsonData = JsonConvert.SerializeObject(Data, Formatting.None);
                    return Json(new
                    {
                        aaData = JsonData
                    }, JsonRequestBehavior.AllowGet);
                }

【问题讨论】:

    标签: c# asp.net-mvc json jquery-datatables


    【解决方案1】:

    经过简短调查,由于您的 JSON 是对象,您应该提供列定义 -

    json:

    { "aaData": [
      {
        "ID": 1,
        "Number": "2",
        "Name": "Avinash"
      },
      {
        "ID":2,
        "Number":"21",
        "Name":"XYZ"
      },
      {
        "ID": 3,
        "Number": "20",
        "Name": "KRR"
      }
    ]}
    

    js:

    var oTable = $('#table').dataTable({
         "bProcessing": true,
         "sAjaxSource": '<%:Url.Action("LoadData","Home")%>',
         "aoColumns": [
                      { "mData": "ID" },
                      { "mData": "Number" },
                      { "mData": "Name" }
                   ]
          });
    

    查看 ajax/objects.html 下数据表源中的示例。

    【讨论】:

    • No..这两种语法都是正确的..我仍然收到那个错误。我能够执行该控制器操作
    • 你的 json 是否包含 { "aaData": [ ... ?上面的代码适用于我的静态 json url。
    • 如果 JSON 不存在,我如何附加到它?
    • string withData = string.Format(@"{{ ""aaData"" : {0} }}", withoutData); ?
    猜你喜欢
    • 1970-01-01
    • 2018-09-29
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 2017-06-01
    • 1970-01-01
    相关资源
    最近更新 更多