如何解决找不到匹配的记录带有Asp.Net Core的jquery Datatable吗?
我正在使用jquery数据表来显示记录。如果不是服务器端渲染,则数据表工作正常。我在数据库中有大量记录。我已经实现了分页,但是没有用。这是代码:
var table = $('#studentDataTable').dataTable({
serverSide: true,"searching": false,paging:true,ajax: {
url: '/Student/GetAllStudent/',type: 'POST',dataSrc: ''
},columns: [
{
'data': 'FirstName',},{
'data': 'rollNumber','searchable': false,{
'data': 'fatherName',{
'data': 'className',{
'sortable': false,]
});
服务器端操作返回6条记录,但数据表始终显示未找到匹配的记录。这是服务器的响应
{"draw":1,"recordsTotal":100,"recordsFiltered":6,"data":[{"id":1,"userId":"f2992e53-df6a-4eb0-8127-0d2d54de316d","firstName":"Umer","lastName":"Waheed","fatherName":"Abdul","gender":1,"nationality":0,"religionId":0,"email":"yu@gmailcom","birthPlace":0,"dateOfBirth":null,"academicYearId":3,"classSectionId":0,"educationCategoryId":0,"admissionCategoryId":0,"branchId":0,"rollNumber":"4512","username":"Umer_10","className":"Grade 1","classId":3,"sectionName":"C","sectionId":16,"academicYearName":"20-21a","educationCategoryName":"E1","admissionCategoryName":"aa","pageNumber":0,"rowsOfPage":0,"searchByFirstName":null,"searchByLastName":null,"searchByFatherName":null,"searchByClassId":null,"searchBySectionId":null,"classes":null,"sections":null,"academicYears":null,"educationCategories":null,"admissionCategories":null,"classSections":null,"religions":null,"countries":null},{"id":2,"userId":"59cdc2be-aa3e-4c6d-83fc-97e3b0e7200e","firstName":"1","lastName":"1","fatherName":"1","email":"1","rollNumber":"1","username":"1_25",{"id":3,"userId":"a03a0ec5-6fa6-45f0-897e-ceb2647c8f20","firstName":"2","lastName":"2","fatherName":"21","email":"20","rollNumber":"562","username":"2_26",{"id":4,"userId":"d0709531-acfb-4c07-96a0-3b59f9f5e9a8","firstName":"sdfas","lastName":"asdf","fatherName":"asdf","email":"asdf","rollNumber":"sdaf","username":"sdfas_27","sectionName":"D","sectionId":17,{"id":5,"userId":"5d16c8d0-bc72-4a70-8a69-7252e273805c","firstName":"4563","lastName":"1352","fatherName":"iujs","email":"umas","rollNumber":"sdfa","username":"4563_30","sectionName":"A","sectionId":12,{"id":6,"userId":"b45897e7-7187-4733-b75f-64baff03786c","firstName":"hello","lastName":"ksdjf","fatherName":"hjsjhd","email":"sdfasdfasdf","rollNumber":"6853","username":"hello_31","className":"Grade 2","classId":4,"countries":null}]}
上面的代码有什么问题?
解决方法
以下是一些注释,它们应该解决我在问题中看到的问题:
-
您应该从DataTables定义中删除
dataSrc: ''
。这是在告诉DataTables查看要显示的数据行的JSON根。但是,您的数据行位于名为data
的对象中。默认情况下,DataTables希望在名为data
的对象中找到其数据-因此删除此行等效于使用dataSrc: 'data'
。 -
这看起来像是错字:
'data': 'FirstName'
。应该是:'data': 'firstName'
。 -
这可能会或可能不会出现问题,但是您的最终字段未声明
data
来源。它仅包含sortable
和searchable
。也许您在问题未显示的某个地方提供了数据值-否则,您需要提供一个data
值。 -
要点:您应删除所有不需要的多余逗号。例如:
'data': 'FirstName',
。也许您只显示了表定义的一个子集-在这种情况下,这些逗号确实需要存在。但通常应将其删除。它们可能不会在这里引起问题-但在某些地方,这些多余的逗号会导致语法错误。
以上所有要点将导致以下结果:
var table = $('#studentDataTable').dataTable({
serverSide: true,"searching": false,paging:true,ajax: {
url: '/Student/GetAllStudent/',type: 'POST'
},columns: [
{
'data': 'FirstName'
},{
'data': 'rollNumber','searchable': false
},{
'data': 'fatherName',{
'data': 'className',{
'data': '<aValidFieldNameNeededInHere>','sortable': false,'searchable': false,}
]
});
如果在进行这些更改后仍然遇到问题,请查看browser console(通常是浏览器中的F12)。任何错误消息都将显示在此处。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。