我正在使用ajax从数据库加载对象列表到datatable中。调试时,我的MVC操作结果似乎可以正确查询数据,但datatable列显示为空。
我尝试在MVC操作返回之前对列表进行序列化,但这并没有解决问题。
我期望表格中显示列表中的各列,但它却抛出了这个错误:“DataTables警告:表格id=codetable - 请求未知参数'1',第0行,第1列...”,并且只在第一列中显示结果(因此每行一个字符)。其余的列显示为空。 显示的错误
我尝试在MVC操作返回之前对列表进行序列化,但这并没有解决问题。
// Code from View
<table class="table table-striped" id="codetable">
<thead>
<tr>
<td>Student Number</td>
<td>Student</td>
<td>Faculty</td>
<td>Department</td>
<td>Program</td>
<td>Code</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script>
$(document).ready(function () {
$("#codetable").DataTable({
processing: true,
serverSide: true,
info: true,
ajax: {
url: '@Url.Action("GetVoters", "Index")',
dataSrc: ""
},
Columns: [
{ "data": "StudentNumber" },
{ "data": "Name" },
{ "data": "Faculty" },
{ "data": "Department" },
{ "data": "Program" },
{ "data": "Code" }
]
});
});
</script>
//Code from Controller
public JsonResult GetVoters()
{
List<vt> stud = (from student in _context.Voters
select new vt
{
StudentNumber = student.StudentNumber,
Name = student.Name,
Faculty = student.Faculty,
Department = student.Department,
Program = student.Program,
Code = student.Code
}).Take(100).ToList();
var js = new System.Web.Script.Serialization.JavaScriptSerializer();
var result = js.Serialize(stud);
return Json(result, JsonRequestBehavior.AllowGet);
}
public class vt
{
public string StudentNumber { get; set; }
public string Name { get; set; }
public string Faculty { get; set; }
public string Department { get; set; }
public string Program { get; set; }
public string Code { get; set; }
}
我期望表格中显示列表中的各列,但它却抛出了这个错误:“DataTables警告:表格id=codetable - 请求未知参数'1',第0行,第1列...”,并且只在第一列中显示结果(因此每行一个字符)。其余的列显示为空。 显示的错误