格式化时刻()发布到控制器“失去”值

时间:2017-02-20 15:00:31

标签: json ajax model-view-controller momentjs

我正在使用moment().startOf("week")endOf("week")来建立日期范围,然后将其发布到控制器。我将.format()应用于已发布的值,控制器正在使用DateTime。

在Request Payload中,格式化JSON并且值在那里。在控制器,他们不是。见下文。

我错过了什么?我尝试了一些不同的东西,只发送一个日期,而不是格式化等等。

传出JSON

var weekStart = moment().startOf("week").format();
var weekEnd = moment().endOf("week").format();

$.ajax({
 url: "/Timesheets/TaskHoursByPersonForCurrentWeek",
 type: "POST",
 contentType: "application/json; charset=utf-8",
 dataType: "json",
 data: JSON.stringify({personId: @User.FindFirst("Id").Value, ws: weekStart, we: weekEnd}),
 success: function (result){
    $('#cyearhours').append(result.total);
 },
 error: function (XMLHttpRequest, textStatus, errorThrown) {
    $("#toast-container").remove();
    toastr.options.positionClass = 'toast-top-full-width';
    toastr.options.timeOut = 10000;
    toastr.error("Fail:  We weren't able to get your hours for this week.");
 }
});
  

{personId:1,ws:“2017-02-19T00:00:00 + 00:00”,我们:   “2017-02-25T23:59:59 + 00:00”}

控制器

[HttpPost]
public async Task<JsonResult> TaskHoursByPersonForCurrentWeek(int personId, DateTime ws, DateTime we)
{

var hours = await dbcontext.Timesheet
    .Where(t => !t.Deleted)
    .Where(t => t.PersonId == personId)
    .Where(t => t.TaskStart >= ws && t.TaskEnd < we )
    .GroupBy(t => t.PersonId)
    .Select(group => new
    {
        total = group.Sum(x => x.Minutes) / 60
    }).SingleOrDefaultAsync();

    return Json(hours);
}

enter image description here

0 个答案:

没有答案