I am trying to do server side pagination for Jquery datatable. I am getting %22
values in request.form
like this
var start = Request.Form.GetValues("start").FirstOrDefault();
var length = Request.Form.GetValues("length").FirstOrDefault();
And at client side:
table = $("#violationsDatatable").DataTable(
{
"ajax": {
"url": "/Vids/GetVidsViolations",
// "url": "@Url.Action("GetVidsViolations", "Vids")",
"type": "POST",
"datatype": "json",
'data': function (lvm) {
return JSON.stringify(lvm);
},
},
bFilter: true,
bSort: true,
"processing": true, // for show progress bar
"serverSide": true, // for process server side
// data: response,
destroy: true,
language: {
'search': 'Incident Search:'
}
}}
But when I debug, I am getting request.form value like this
{%7b%22draw%22%3a1%2c%22columns%22%3a%5b%7b%22data%22%3a%22Sr_No%22%2c%22name%22%3a%22%22%2c%22searchable%22%3atrue%2c%22orderable%22%3atrue%2c%22search%22%3a%7b%22value%22%3a%22%22%2c%22regex%22%3afalse%7d%7d%2c%7b%22data%22%3a%22Timestamp%22%2c%22name%22%3a%22%22%2c%22searchable%22%3atrue%2c%22orderable%22%3atrue%2c%22search%22%3a%7b%22value%22%3a%22%22%2c%22regex%22%3afalse%7d%7d%2c%7b%22data%22%3a%22IncidentTypeID%22%2c%22name%22%3a%22%22%2c%22searchable%22%3atrue%2c%22orderable%22%3atrue%2c%22search%22%3a%7b%22value%22%3a%22%22%2c%22regex%22%3afalse%7d%7d%2c%7b%22data%22%3a%22ChainageNo%22%2c%22name%22%3a%22%22%2c%22searchable%22%3atrue%2c%22orderable%22%3atrue%2c%22search%22%3a%7b%22value%22%3a%22%22%2c%22regex%22%3afalse%7d%7d%2c%7b%22data%22%3a%22VideoFileName%22%2c%22name%22%3a%22%22%2c%22searchable%22%3atrue%2c%22orderable%22%3atrue%2c%22search%22%3a%7b%22value%22%3a%22%22%2c%22regex%22%3afalse%7d%7d%2c%7b%22data%22%3a%7b%22VidsViolationID%22%3a%22VidsViolationID%22%2c%22IsRemoved%22%3a%22IsRemoved%22%7d%2c%22name%22%3a%22%22%2c%22searchable%22%3atrue%2c%22orderable%22%3atrue%2c%22search%22%3a%7b%22value%22%3a%22%22%2c%22regex%22%3afalse%7d%7d%5d%2c%22order%22%3a%5b%7b%22column%22%3a0%2c%22dir%22%3a%22asc%22%7d%5d%2c%22start%22%3a0%2c%22length%22%3a10%2c%22search%22%3a%7b%22value%22%3a%22%22%2c%22regex%22%3afalse%7d%7d}
How to get start and length value from such a string
?
You can use HttpUtility.UrlDecode for that purpose, as in
var start = HttpUtility.UrlDecode(Request.Form.GetValues("start").FirstOrDefault());
var length = HttpUtility.UrlDecode(Request.Form.GetValues("length").FirstOrDefault());