我正在尝试使用jquery DataTables插件显示表数据。如果我使用HTML表格元素获取数据然后循环数据并最终使用单个DataTables调用它生成标记。我在谈论这个
@Scheduled(cron = "50 0/14 * * * *")
在我的脚本部分
<table id="students" class="table table-bordered table-hover">
<thead>
<tr>
<th>Name</th>
<th>Roll No</th>
<th>Result</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
@foreach(var student in Model)
{
<tr>
<td>@Html.ActionLink(student.Name, "Edit", "Students", new { id = student.Id }, null)</td>
<td>@student.RollNo</td>
<td>@student.Result</td>
<td>
<button data-student-id="@student.Id" class="btn-link js-delete">Delete</button>
</td>
</tr>
}
</tbody>
</table>
//撰写本声明
但是如果我尝试使用这种方法生成标记,它就不起作用。 Javascript符合框弹出“不知道参数rollNo”...并且第一行仅在名称列中显示“未定义”,“删除”列中显示“删除”
$("#students").DataTable();
Here's Ajax响应的摘录。
我在哪里做错了?
答案 0 :(得分:0)
您应该在ajax.dataSrc属性中指定一些内容。默认值为“data”,但您应指定包含数据的属性的名称。例如,如果ajax响应是这样的:
{'result':[
{ rollNo: ...
name: ...
...
},
{ rollNo: ...
name: ...
...
},
...
]}
然后ajax.dataSrc应为'result'。
<强>更新强>
看到你的ajax回复。数据键似乎以大写字母开头。尝试使用columns.data(区分大小写IIRC)
中的第一个字母大写