In my ASP.NET Core MVC project, I have a page where I use DataTables. I added the code to render the table names logs with DataTables.
$(document).ready(function() {
var logs = $('#logs').dataTable({
"processing": true,
"serverSide": true,
"filter": true,
"ajax": {
"url": "/api/logs",
"type": "POST",
"dataType": "json"
},
"columns": [
{ className: 'dt-control', orderable: false,
data: null, defaultContent: ''},
{ "data": "timeStamp" },
{ "data": "level" },
{ "data": "queueId" },
{ "data": "message" }
]
})
}
The POST API method receives the call from the DataTables for search and order.
var orderColumn = Request.Form["order[0][column]"].FirstOrDefault();
var sortColumnName = "columns[" + orderColumn + "][name]";
var sortColumn = Request.Form[sortColumnName].FirstOrDefault();
var sortColumnDirection = Request.Form["order[0][dir]"].FirstOrDefault();
var searchValue = Request.Form["search[value]"].FirstOrDefault();
When I order for the column number 5, the sortColumnName tries to read from the RequestForm this column but the value is empty.
I don't understand why.
