Hello,
I am attempting to run a simple ASP.NET datatable using jQuery and ajax. I have a functioning table when I run it with dummy data, however when attempting to connect to a remote MySQL server the data does not get retrieved and the table gets stuck 'Processing'.
My connection string in web.config
<connectionStrings><add name="DBConnection"
connectionString="Server=studentserver.com.au;Database=admin_it_studies_dev;Uid=***;Pwd=***;"
providerName="MySql.Data.MySqlClient" /></connectionStrings>Just using one row of data for now
namespace CFI_Web_Application.Models
{
[Table("crn_detail")]
public class Subjects
{
[Key]
public int? CRN { get; set; }
}
}The ajax side of things
<script>$(document).ready(function () {$("#subjectGrid").DataTable({"processing": true, // for show progress bar"serverSide": true, // for process server side"filter": true, // this is for disable filter (search box)"orderMulti": false, // for disable multiple column at once"pageLength": 5,
ajax: {
url: "/Subjects/LoadData",
type: "POST",
datatype: "json"
},
columns: [
{ "data": "CRN", "name": "CRN", "autoWidth": true },
]
});
});
</script>Loading the data
public ActionResult LoadData()
{
//Creating instance of DatabaseContext class
using (DatabaseContext _context = new DatabaseContext())
{
var draw = Request.Form.GetValues("draw").First();
var start = Request.Form.GetValues("start").First();
var length = Request.Form.GetValues("length").FirstOrDefault();
var sortColumn = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault();
var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();
var searchValue = Request.Form.GetValues("search[value]").FirstOrDefault();
//Paging Size (10,20,50,100)
int pageSize = length != null ? Convert.ToInt32(length) : 0;
int skip = start != null ? Convert.ToInt32(start) : 0;
int recordsTotal = 0;
// Getting all subject data
var subjectData = (from tempsubject in _context.Subjects
select tempsubject);
//Sorting
if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir)))
{
subjectData = subjectData.OrderBy(sortColumn + " " + sortColumnDir);
}
//Search
if (!string.IsNullOrEmpty(searchValue)) {
subjectData = subjectData.Where(m => m.CRN.ToString() == searchValue);
}
//total number of rows count
recordsTotal = subjectData.Count();
//Paging
var data = subjectData.Skip(skip).Take(pageSize).ToList();
//Returning Json Data
return Json(new { draw, recordsFiltered = recordsTotal, recordsTotal});
}Any help would be greatly appreciated. Thanks!