Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery datatable服务器端处理.net核心_Jquery_Asp.net Core_Datatables - Fatal编程技术网

jquery datatable服务器端处理.net核心

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

我正在使用jquery datatable和.net核心构建网格 我正在使用服务器端处理 我正在使用这个软件包

第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"
        }
    ]
});
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吗?请检查以下链接中的演示解决方案。请参阅以下文章