public async Task <ActionResult> GetUsers() { var draw = Request.Form.GetValues("draw").FirstOrDefault(); var start = Request.Form.GetValues("start").FirstOrDefault(); var length = Request.Form.GetValues("length").FirstOrDefault(); var sortCulmn = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault(); var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault(); int pageSize = length != null?Convert.ToInt32(length) : 0; int skip = start != null?Convert.ToInt32(start) : 0; int totalRecords = 0; var Name = Request.Form.GetValues("columns[1][search][value]").FirstOrDefault(); List <Users> usr = new List <Users>(); usr = await usrVM.Get(); if (!string.IsNullOrEmpty(Name)) { usr = usr.Where(a => a.useName.ToLower().Contains(Name.ToLower())).ToList(); } if (!(string.IsNullOrEmpty(sortCulmn + "" + sortColumnDir))) { usr = usr.OrderBy(sortCulmn + " " + sortColumnDir).ToList(); } totalRecords = usr.Count(); var data = usr.Skip(skip).Take(pageSize).ToList(); return(Json(new { draw, recordsFiltered = totalRecords, recordsTotal = totalRecords, data }, JsonRequestBehavior.AllowGet)); }