【发布时间】:2019-03-21 18:03:30
【问题描述】:
我正在使用带有 .net 核心的 jquery 数据表来构建网格 我正在使用服务器端处理 我正在使用这个包GitHub Link
我得到第 0 行第 0 列的请求未知参数“CivilID”的问题
客户端
var table = $('#tblClient').DataTable({
language: {
processing: "Loading Data...",
zeroRecords: "No matching records found"
},
processing: true,
serverSide: true,
orderCellsTop: true,
autoWidth: true,
deferRender: true,
dom: '<tr>',
ajax: {
type: "POST",
url: '/Client/LoadTable/',
contentType: "application/json; charset=utf-8",
async: true,
data: function(data) {
let additionalValues = [];
additionalValues[0] = "Additional Parameters 1";
additionalValues[1] = "Additional Parameters 2";
data.AdditionalValues = additionalValues;
return JSON.stringify(data);
}
},
columns: [
{
title: "CivilID",
data: "CivilID",
},
{
title: "LastName",
data: "LastName"
}, {
title: "FirstName",
data: "FirstName"
}
]
});
服务器端
public async Task<IActionResult> LoadTable([FromBody]DTParameters param) {
try {
// var data = await _demoService.GetDataAsync(param);
List<ClientViewModel> ClientsList = new List<ClientViewModel>();
var result = HttpContext.Session.GetString("AllClients");
ClientsList = JsonConvert.DeserializeObject<List<ClientViewModel>>(result);
var json= new JsonResult(new DTResult<ClientViewModel> {
draw = param.Draw,
data = ClientsList,
recordsFiltered = ClientsList.Count,
recordsTotal = ClientsList.Count
});
return json;
} catch (Exception e) {
}
}
图片中的数据是针对ClientViewModel的 在客户端是同名的 我错过了什么 谢谢
【问题讨论】:
-
在
data之后添加'dataSrc': function ( json ) { console.log(json); return json.data; }作为选项,并在此处发布至少一条记录的输出。 .NET 有可能将响应包装在{d: { /* response */ }}中。如果是这种情况,请参阅this answer。 -
@Maher Khalil。您是否尝试过链接中提到的更新的 Nuget 包?更新后的包具有不同的请求和响应模型名称。检查您提到的 GitHub 链接中的文档。
-
可以分享表格html吗?请查看以下链接中的演示解决方案。 JQuery DataTables Demo
标签: jquery asp.net-core datatables