【发布时间】:2020-08-19 05:12:18
【问题描述】:
我在使用 C# 加载 DataTables 中的记录列表时遇到问题,问题是加载表格时出现以下错误
一旦发生这种情况,我将在浏览器控制台中查看错误,它会显示以下内容:
以下是加载记录列表的控制器中的代码
/// <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 秒后会显示错误,并且这种情况偶尔会发生,并不总是出现,它是一个包含大约 6,000 条记录的表。你能给我什么解决方案,至少我在开头添加的消息没有显示,我在想像删除异常,而你可以更详细地查看它或者你能给我什么其他的解决方案。
【问题讨论】:
标签: c# jquery datatable datatables