jquery datatable服务器端处理.net核心
我正在使用jquery datatable和.net核心构建网格 我正在使用服务器端处理 我正在使用这个软件包 第0行第0列的请求未知参数“CivilID”出现问题 客户端jquery datatable服务器端处理.net核心,jquery,asp.net-core,datatables,Jquery,Asp.net Core,Datatables,我正在使用jquery datatable和.net核心构建网格 我正在使用服务器端处理 我正在使用这个软件包 第0行第0列的请求未知参数“CivilID”出现问题 客户端 var table = $('#tblClient').DataTable({ language: { processing: "Loading Data...", zeroRecords: "No matching records found" }, processi
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"
}
]
});
var table=$('#tblClient').DataTable({
语言:{
正在处理:“正在加载数据…”,
zeroRecords:“未找到匹配的记录”
},
处理:对,
服务器端:是的,
是的,
自动宽度:正确,
是的,
dom:“”,
阿贾克斯:{
类型:“POST”,
url:“/Client/LoadTable/”,
contentType:“应用程序/json;字符集=utf-8”,
async:true,
数据:函数(数据){
设additionalValues=[];
附加值[0]=“附加参数1”;
附加值[1]=“附加参数2”;
data.AdditionalValues=附加值;
返回JSON.stringify(数据);
}
},
栏目:[
{
标题:“公民”,
数据:“CivilID”,
},
{
标题:“姓氏”,
数据:“姓氏”
}, {
标题:“名字”,
数据:“名字”
}
]
});
服务器端
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) {
}
}
公共异步任务加载表([FromBody]DTParameters-param){
试一试{
//var data=wait_demoService.GetDataAsync(param);
List ClientsList=新列表();
var result=HttpContext.Session.GetString(“所有客户端”);
ClientsList=JsonConvert.DeserializeObject(结果);
var json=new JsonResult(new DTResult{
draw=参数draw,
数据=客户列表,
recordsFiltered=ClientsList.Count,
recordsTotal=ClientsList.Count
});
返回json;
}捕获(例外e){
}
}
资料
图片中的数据是针对ClientViewModel的
它与客户端中的名称相同
我错过了什么
谢谢将此添加到startup.cs
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver
= new Newtonsoft.Json.Serialization.DefaultContractResolver();
});
在JSON返回中使用camelcase格式,如下所示
columns: [
{
title: "CivilID",
data: "civilID",
},
{
title: "LastName",
data: "lastName"
}, {
title: "FirstName",
data: "firstName"
}
]
添加
'dataSrc':函数(json){console.log(json);返回json.data;}
作为data
之后的一个选项,并在此处发布至少一条记录的输出。NET可能将响应包装在{d:{/*response*/}}
中。看看情况是否如此。@Maher Khalil。您是否尝试使用链接中提到的更新的Nuget软件包?更新后的包具有不同的请求和响应模型名称。检查你提到的GitHub链接中的文档。你能分享表格html吗?请检查以下链接中的演示解决方案。请参阅以下文章