Каков наилучший способ отображения даты и времени с помощью Linq для Datatable? - PullRequest
0 голосов
/ 08 октября 2019

У меня есть linq, который выбирает какой-то столбец с датами для датирования. Я использую ASP MVC 5 и Datatble.

Мне действительно нужен DateTime. Я показал строку и не было проблем. Но когда я пытаюсь отобразить необработанное время даты, я получаю этот вывод

/Date(1569366000000)/   /Date(1569397607057)/

Вот мой код

 var IQueryabletimesheet = (from expense in _context.ExpenseModel
                                       join expenseaudittb in _context.ExpenseAuditTB on expense.ExpenseID equals expenseaudittb.ExpenseID
                                       join project in _context.ProjectMaster on expense.ProjectID equals project.ProjectID
                                       join registration in _context.Registration on expense.UserID equals registration.RegistrationID
                                       join AssignedRolesAdmin in _context.AssignedRoles on registration.RegistrationID equals AssignedRolesAdmin.RegistrationID
                                       where AssignedRolesAdmin.AssignToAdmin == UserID && expenseaudittb.Status == 3
                                       select new ExpenseModelView
                                       {
                                           ExpenseID = expense.ExpenseID,
                                           ProjectName = project.ProjectName,
                                           RequestBy = registration.Name,
                                           FromDate = expense.FromDate.Value,

                                           ProcessedDate = expenseaudittb.ProcessedDate,

                                           ExpenseStatus = expense.ExpenseStatus == 1 ? "Submitted" : expense.ExpenseStatus == 2 ? "Approved" : expense.ExpenseStatus == 4 ? "Pending Final Approval" : "Rejected",

                                           PurposeorReason = expense.PurposeorReason,
                                           TotalAmount = expense.TotalAmount,

                                           VoucherID = expense.VoucherID,
                                       });

            if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir)))
            {
                IQueryabletimesheet = IQueryabletimesheet.OrderBy(sortColumn + " " + sortColumnDir);
            }
            if (!string.IsNullOrEmpty(Search))
            {
                //IQueryabletimesheet = IQueryabletimesheet.Where(m => m.FromDate == Search);
            }

            return IQueryabletimesheet;

Я получаю результат через вызов ajax в представлении. Это не имеет значения, за исключением столбцов datetime, которые отображают вышеуказанные ошибки

Мне нужно что-то вроде того, что я вижу в моем SQL Server 08/10/2019 10: 43

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Я нашел решение своей проблемы. Обратите внимание, что это может быть не единственное решение, но именно то, что я хочу. Решение заключается в использовании момента.js, и именно так я рендерил столбец, и все работало. Я хотел, чтобы данные были сырыми с сохранением их типа (datetime).

{
   title: "ProcessedDate",// name 
   render: function (data, type, row) 
            {//data
                        return moment(row.ProcessedDate).format('DD/MM/YYYY hh:mm:ss');
            }
}           
0 голосов
/ 08 октября 2019

Чтобы отобразить, как ожидается, вы должны выполнить преобразование даты в строку. ех. string.Format ("{0: G}", расход.FromDate.Value).

var IQueryabletimesheet = (from expense in _context.ExpenseModel
                                       join expenseaudittb in _context.ExpenseAuditTB on expense.ExpenseID equals expenseaudittb.ExpenseID
                                       join project in _context.ProjectMaster on expense.ProjectID equals project.ProjectID
                                       join registration in _context.Registration on expense.UserID equals registration.RegistrationID
                                       join AssignedRolesAdmin in _context.AssignedRoles on registration.RegistrationID equals AssignedRolesAdmin.RegistrationID
                                       where AssignedRolesAdmin.AssignToAdmin == UserID && expenseaudittb.Status == 3
                                       select new ExpenseModelView
                                       {
                                           ExpenseID = expense.ExpenseID,
                                           ProjectName = project.ProjectName,
                                           RequestBy = registration.Name,
                                           FromDate = string.Format ("{0:G}", expense.FromDate.Value),

                                           ProcessedDate = expenseaudittb.ProcessedDate,

                                           ExpenseStatus = expense.ExpenseStatus == 1 ? "Submitted" : expense.ExpenseStatus == 2 ? "Approved" : expense.ExpenseStatus == 4 ? "Pending Final Approval" : "Rejected",

                                           PurposeorReason = expense.PurposeorReason,
                                           TotalAmount = expense.TotalAmount,

                                           VoucherID = expense.VoucherID,
                                       });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...