如何解决数据表的问题

问题描述 投票:0回答:1

我在加载用以下方法制作的记录列表时遇到了问题。数据表 使用 C#问题是,加载表格时,我得到以下错误信息

enter image description here

一旦发生这种情况,我会在浏览器控制台中查看错误,它向我显示以下内容。

enter image description here

以下是加载记录列表的控制器中的代码。

    /// <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条记录的表。你能给我什么解决方法,至少我一开始添加的信息是不显示的,我想的是删除异常之类的,同时你可以更详细的审查,或者你能给我什么其他的解决方法。

c# jquery datatable datatables
1个回答
0
投票

如果你还没有配置你的应用程序来记录异常,你最好的选择通常是打开Windows事件查看器并查看应用程序日志。

你可以过滤日志,只显示错误和关键。这通常会有帮助。

像你现在得到的HTTP 500错误通常会在事件查看器中降落。

enter image description here

如果你能够调试你的应用程序,你可以通过确保在Exception Settings窗口中的Common Language Runtime Exceptions这里有一个检查来配置VS在所有Exceptions上中断。然后只要触发问题,VS就会停下来告诉你发生了什么。

enter image description here

不过我猜测你只是无法调试应用程序。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.