У меня проблема с загрузкой списка записей, сделанных в DataTables с использованием C#, проблема в том, что при загрузке таблицы возникает следующая ошибка
Как только это произойдет, я рассмотрю ошибку в консоли браузера, она показывает мне следующее:
Ниже приведен код в контроллере, с которым загружается список записей
/// <summary>
/// Obtain tickets from the database and process them to be presented in the Datatable
/// </summary>
/// <returns>Json with the tickets available in the system</returns>
[HttpPost]
public JsonResult GetMyTickets([ModelBinder(typeof(DataTablesBinder))]
IDataTablesRequest requestModel)
{
using (var db = new dbGoldenTicket())
{
IQueryable<TicketsResult> query;
if (string.Equals(Session["tipo"].ToString(), "admin", StringComparison.OrdinalIgnoreCase) ||
string.Equals(Session["tipo"].ToString(), "mesa", StringComparison.OrdinalIgnoreCase) ||
string.Equals(Session["tipo"].ToString(), "coor", StringComparison.OrdinalIgnoreCase))
query = TicketListModel.ConsultTicketListTech(Session["area"].ToString(),
Session["matricula"].ToString(), db);
else
{
query = null;
}
var totalCount = query.Count();
// Searching
if (requestModel.Search.Value != string.Empty)
{
var value = requestModel.Search.Value.Trim();
query = query.Where(p => p.TicketFolio.Contains(value) ||
p.TicketAplicant.Contains(value) ||
p.TicketService.Contains(value) ||
p.TicketStatus.Contains(value) ||
p.TicketSubjet.Contains(value) ||
p.TicketEmployee.Contains(value) ||
p.Origin.Contains(value) ||
p.SLALabel.Contains(value)
);
}
var filteredCount = query.Count();
// Sorting
var sortedColumns = requestModel.Columns.GetSortedColumns();
var orderByString = string.Empty;
foreach (var column in sortedColumns)
{
orderByString += orderByString != string.Empty ? "," : "";
orderByString += column.Data +
(column.SortDirection == Column.OrderDirection.Ascendant ? " asc" : " desc");
}
query = query.OrderBy(orderByString == string.Empty ? "TicketFolio desc" : orderByString);
// Paging
query = query.Skip(requestModel.Start).Take(requestModel.Length);
var data = query.Select(ticket => new
{
ticket.TicketId,
ticket.TicketFolio,
ticket.TicketAplicant,
ticket.TicketService,
ticket.TicketStatus,
ticket.TicketSubjet,
ticket.TicketEmployee,
ticket.TicketSLAHourType,
ticket.TicketSLAHours,
ticket.Origin,
ticket.SLALabel
}).ToList();
return Json(new DataTablesResponse(requestModel.Draw, data, filteredCount, totalCount));
}
}
Самое смешное в этом то, что ошибка отображается после того, как она занимает более 30 секунд, чтобы загрузить, и это происходит иногда, это не всегда выходит, это таблица с примерно 6000 записей. Какое решение вы можете дать мне, по крайней мере, если сообщение, которое я добавляю в начале, не отображается, я думал о том, как удалить исключение, пока вы можете рассмотреть его более подробно, или какое другое решение вы можете дать мне.