我在加载用以下方法制作的记录列表时遇到了问题。数据表 使用 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条记录的表。你能给我什么解决方法,至少我一开始添加的信息是不显示的,我想的是删除异常之类的,同时你可以更详细的审查,或者你能给我什么其他的解决方法。