Search code examples
javascriptc#jqueryasp.net-mvcdatatable

How to escape request.form value in server side pagination of juery datatble in asp.net mvc?


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?


Solution

  • 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());