C# 使用jQuery.timepicker仅在ASP.NET MVC中节省时间

C# 使用jQuery.timepicker仅在ASP.NET MVC中节省时间,c#,jquery,asp.net-mvc,razor,timepicker,C#,Jquery,Asp.net Mvc,Razor,Timepicker,当我单击保存时,我在jquery.timepicker插件中选择的时间在ASP.NET MVC发送到服务器端时为空。。。 当我调试代码时,发现没有数据传递到StartTime和EndTime的服务器端。。 这是我调试代码时的屏幕截图,它返回null 这是我选择时间的UI 这是我的密码 [HttpPost] public ActionResult CreateLeaveApplications(LeaveApplications applications, string Date)

当我单击保存时,我在jquery.timepicker插件中选择的时间在ASP.NET MVC发送到服务器端时为空。。。 当我调试代码时,发现没有数据传递到StartTimeEndTime的服务器端。。 这是我调试代码时的屏幕截图,它返回null

这是我选择时间的UI

这是我的密码

 [HttpPost]
    public ActionResult CreateLeaveApplications(LeaveApplications applications, string Date)
    {
        if(ModelState.IsValid)
        {
            var leavePeriodType = applications.LeavePeriodTypeID;
            LeaveApplications leave = new LeaveApplications();


            if (leavePeriodType == 3)
            {
                leave.StartDate = applications.StartDate;
                leave.EndDate = applications.EndDate;
            }

            else if(leavePeriodType == 2)
            {
                leave.StartDate = Convert.ToDateTime(Date);
                leave.EndDate = Convert.ToDateTime(Date);
                leave.Cycle = applications.Cycle;
            }

            else if(leavePeriodType == 1)
            {
                leave.StartDate = Convert.ToDateTime(Date);
                leave.EndDate = Convert.ToDateTime(Date);
                leave.StartTime = applications.StartTime;
                leave.EndTime = applications.EndTime;
            }

            leave.EmployeeID = applications.EmployeeID;
            leave.DateApplied = DateTime.Now;
            leave.LeavePeriodTypeID = applications.LeavePeriodTypeID;
            leave.LeaveTypeID = applications.LeaveTypeID;
            leave.Reason = applications.Reason;
            leave.FirstApproval = applications.FirstApproval;
            leave.SecondApproval = applications.SecondApproval;
            leave.FinalApproval = applications.FinalApproval;
            leave.LeaveStatusID = 1;

            try
            {
                unitOfWork.LeaveApplicationsRepository.Insert(leave);
                unitOfWork.Save();

            }

            catch (DbEntityValidationException ex)
            {
                foreach (var validationErrors in ex.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {

                        return Json(new { success = false, responseText = validationError.PropertyName + " - " + validationError.ErrorMessage });
                    }
                }

            }

            return Json(new { responseText = "Save Successfully", success = true }, JsonRequestBehavior.AllowGet);

        }

        else
        {
            return Json(new { responseText = "Error sending request", success = false }, JsonRequestBehavior.AllowGet);
        }


    }

尝试使用
$('#StartTime').val()和
$('#EndTime').val()拾取时间选择器值。根据两个输入的ID,您在那里看到了什么值?
TimeSpan
model binder可能无法识别这些值。它将显示上午8:00@tetsuyayamamoto。要绑定,这些值需要
8:00
(上午8.00)和
20:00
(下午8.00)(否则,您将需要一个自定义模型活页夹如何在TimeSpan中识别此数据??执行提交时删除AM/PM组件或使用@StephenMuecke所说的自定义模型活页夹,因为
tt
(AM/PM指示器)格式仅对
DateTime
实例有效。