Gcobani Mkontwana

Gcobani Mkontwana

  • 565
  • 1.9k
  • 404.6k

System.Linq.Dynamic.ParseException: Expression expected

Feb 11 2020 7:36 AM
Hi Mate
 
I am encountering this issue, below "System.Linq.Dyanmic.ParseException:Expression expected". I am doing server side processing using DataTable. This comes from my Controller object GetList() method.
 
// using System.Linq.Dynamic;
  1. [HttpPost]  
  2. public ActionResult GetList() {  
  3.  //Server side Parameter.    
  4.  int start = Convert.ToInt32(Request["start"]);  
  5.  int length = Convert.ToInt32(Request["length"]);  
  6.  string searchValue = Request["search[value]"];  
  7.  string sortColumnName = Request["columns[" + Request["order[0][column]"] + "][name]"];  
  8.  string sortDirection = Request["order[0] [dir]"];  
  9.  List < TblEventsManagements > empList = new List < TblEventsManagements > ();  
  10.  using(eNtsaOnlineRegistrationDBContext db = new eNtsaOnlineRegistrationDBContext()) {  
  11.   empList = db.TblEventsManagements.ToList < TblEventsManagements > ();  
  12.   int totalrows = empList.Count;  
  13.   if (!string.IsNullOrEmpty(searchValue)) {  
  14.    empList = empList.Where(x => x.TrainingType.ToLower().Contains(searchValue.ToLower()) || x.TrainingDescription.ToLower().Contains(searchValue.ToLower()) || x.Price.ToString().Contains(searchValue.ToLower()) ||  
  15.     x.Venue.ToLower().Contains(searchValue.ToLower()) || x.Facilitator.ToLower().Contains(searchValue.ToLower()) || x.WhoAttend.ToLower().Contains(searchValue.ToLower()) || x.Rsvp.ToLower().Contains(searchValue.ToLower())).ToList < TblEventsManagements > ();  
  16.   }  
  17.   int totalrowsafterfiltering = empList.Count;  
  18.   
  19.   empList = empList.OrderBy(sortColumnName + " " + sortDirection).ToList < TblEventsManagements > (); //  This throws at here on this line. System.Linq.Dyanmic.ExpressionParse.ParsePrimaryStart();  
  20.   
  21.   empList = empList.Skip(start).Take(length).ToList < TblEventsManagements > ();  
  22.   return Json(new {  
  23.    data = empList, draw = Request["draw"], recordsTotal = totalrows, recordsFiltered = totalrowsafterfiltering  
  24.   }, JsonRequestBehavior.AllowGet);  
  25.  }  
  26. }  
  27. $(document).ready(function() {  
  28.   
  29.  $("#EventManagementTable").DataTable({  
  30.   "ajax": {  
  31.    "url""/Dashboard/GetList",  
  32.    "type""POST",  
  33.    "datatype""json"  
  34.   },  
  35.   "columns": [{  
  36.     "data""TrainingType",  
  37.     "trainingtype""TrainingType"  
  38.    },  
  39.    {  
  40.     "data""TrainingDescription",  
  41.     "name""TrainingDescription"  
  42.    },  
  43.    {  
  44.     "data""Price",  
  45.     "name""Price"  
  46.    },  
  47.    {  
  48.     "data""Venue",  
  49.     "name""Venue"  
  50.    },  
  51.    {  
  52.     "data""Facilitator",  
  53.     "name""Facilitator"  
  54.    },  
  55.    {  
  56.     "data""WhoAttend",  
  57.     "name""WhoAttend"  
  58.    },  
  59.    {  
  60.     "data""RSVP",  
  61.     "name""RSVP"  
  62.    },  
  63.   ],  
  64.   "serverSide""true",  
  65.   "order": [0, "asc"],  
  66.   "processing""true",  
  67.   "language": {  
  68.    "processing""processing... please wait"  
  69.   }  
  70.  });  
  71. });  

Answers (4)