введите описание изображения здесь Мне нужна помощь здесь, и я застрял почти на полдня, проблема в том, что я не возвращаю какую-либо запись из моей таблицы данных. Что именно мне не хватает? Да, я звоню в правильную таблицу и у меня есть данные. Вот моя логика c ниже, она имеет функцию getList и empList не возвращает никакого значения. Пожалуйста, помогите товарищам решить эту проблему, спасибо; Во время отладки серверная часть видит некоторую ссылку с данными, просто они не заполняются пользователем как читаемый файл.
введите описание изображения здесь
// Model
public class EventsManagementTb
{
public int TrainingID { get; set; }
public string TrainingType { get; set; }
public string TrainingDescription { get; set; }
public int Price { get; set; }
public string Venue { get; set; }
public string Facilitator { get; set; }
public string WhoAttend { get; set; }
public string RSVP { get; set; }
}
// Controller
[HttpPost]
public ActionResult GetData()
{
//Server side Parameter.
JsonResult result = new JsonResult();
try
{
// Initilization
string search = Request.Form.GetValues("search[value]")[0];
string draw = Request.Form.GetValues("draw")[0];
string order = Request.Form.GetValues("order[0][column]")[0];
string orderDir = Request.Form.GetValues("order[0][dir]")[0];
int startRec = Convert.ToInt32(Request.Form.GetValues("start")[0]);
int pageSize = Convert.ToInt32(Request.Form.GetValues("length")[0]);
// Loading.
List<EventsManagementTb> data = this.LoadData();
// Total record count.
int totalRecords = data.Count;
// Verification.
if (!string.IsNullOrEmpty(search) && !string.IsNullOrWhiteSpace(search))
{
// Apply search
data = data.Where(l => l.TrainingID.ToString().ToLower().Contains(search.ToLower())
|| l.TrainingType.ToLower().Contains(search.ToLower())
|| l.TrainingDescription.ToLower().Contains(search.ToLower())
|| l.Price.ToString().ToLower().Contains(search.ToLower())
|| l.Venue.ToLower().Contains(search.ToLower())
|| l.Facilitator.ToLower().Contains(search.ToLower())
|| l.WhoAttend.ToLower().Contains(search.ToLower())
|| l.RSVP.ToLower().Contains(search.ToLower())).ToList();
}
// Sorting
data = this.SortByColumnWithOrder(order, orderDir, data);
// Filter record data.
int recFilter = data.Count;
// Apply pagination.
data = data.Skip(startRec).Take(pageSize).ToList();
result = this.Json(new { draw = Convert.ToInt32(draw), recordsTotal = totalRecords, recordsFiltered = recFilter, data = data }, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
return result;
}
private List<EventsManagementTb> SortByColumnWithOrder(string order, string orderDir, List<EventsManagementTb> data)
{
// Initialization.
List<EventsManagementTb> lst = new List<EventsManagementTb>();
try
{
// Sorting
switch (order)
{
case "0":
lst = orderDir.Equals("DESC", StringComparison.CurrentCultureIgnoreCase) ? data.OrderByDescending(l => l.TrainingID).ToList()
: data.OrderBy(l => l.TrainingID).ToList();
break;
case "1":
lst = orderDir.Equals("DESC", StringComparison.CurrentCultureIgnoreCase) ? data.OrderByDescending(l => l.TrainingType).ToList()
: data.OrderBy(l => l.TrainingType).ToList();
break;
case "2":
lst = orderDir.Equals("DESC", StringComparison.CurrentCultureIgnoreCase) ? data.OrderByDescending(l => l.TrainingDescription).ToList()
: data.OrderBy(l => l.TrainingDescription).ToList();
break;
case "3":
lst = orderDir.Equals("DESC", StringComparison.CurrentCultureIgnoreCase) ? data.OrderByDescending(l => l.Price).ToList()
: data.OrderBy(l => l.Price).ToList();
break;
case "4":
lst = orderDir.Equals("DESC", StringComparison.CurrentCultureIgnoreCase) ? data.OrderByDescending(l => l.Venue).ToList()
: data.OrderBy(l => l.Venue).ToList();
break;
case "5":
lst = orderDir.Equals("DESC", StringComparison.CurrentCultureIgnoreCase) ? data.OrderByDescending(l => l.Facilitator).ToList()
: data.OrderBy(l => l.Facilitator).ToList();
break;
case "6":
lst = orderDir.Equals("DESC", StringComparison.CurrentCultureIgnoreCase) ? data.OrderByDescending(l => l.WhoAttend).ToList()
: data.OrderBy(l => l.WhoAttend).ToList();
break;
default:
lst = orderDir.Equals("DESC", StringComparison.CurrentCultureIgnoreCase) ? data.OrderByDescending(l => l.RSVP).ToList()
: data.OrderBy(l => l.RSVP).ToList();
break;
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
return lst;
}
private List<EventsManagementTb> LoadData()
{
List<EventsManagementTb> lst = new List<EventsManagementTb>();
try
{
string line = string.Empty;
string srcFilePath = "content/files/EventsManagementTb.txt";
var rootPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var fullPath = Path.Combine(rootPath, srcFilePath);
string filePath = new Uri(fullPath).LocalPath;
StreamReader sr = new StreamReader(new FileStream(filePath, FileMode.Open, FileAccess.Read));
//Read file
while ((line = sr.ReadLine()) != null)
{
EventsManagementTb tb = new EventsManagementTb();
string[] info = line.Split(',');
// Setting
tb.TrainingID = Convert.ToInt32(info[0].ToString());
tb.TrainingType = info[1].ToString();
tb.TrainingDescription = info[2].ToString();
tb.Price = Convert.ToInt32(info[3].ToString());
tb.Venue = info[4].ToString();
tb.Facilitator = info[5].ToString();
tb.WhoAttend = info[6].ToString();
tb.RSVP = info[7].ToString();
// Adding
lst.Add(tb);
}
sr.Dispose();
sr.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
return lst;
}
}
// View cshtml
<script>
$(document).ready(function () {
$("#EventsManagementsTable").DataTable({
"columnDefs": [
{ "width": "5%", "targets": [0] },
{ "className": "text-center custom-middle-align" ,"targets":[0, 1, 2, 3, 4, 5, 6] },
],
"language":{
"processing": "<div class = 'overlay custom-loader-background'><i class= 'fa fa-cog fa-spin custom-loader-color'></i></idv>"
},
"serverSide":"true",
"processing":"true",
"ajax": {
"url": "/Dashboard/GetData",
"type": "POST",
"datatype":"json"
},
"columns": [
{"data":"TrainingID"},
{"data": "TrainingType"},
{ "data": "TrainingDescription"},
{ "data": "Price"},
{ "data": "Venue"},
{ "data": "Facilitator"},
{ "data": "WhoAttend"},
{"data": "RSVP"},
]
});
});