Date issue in Kendo Grid
我的应用程序正在运行服务器,其时区UTC + 05:30。 我的客户端机器有UTC-05:00时区。
现在假设他在文本框中输入12/31/19并保存表单,当他在kendo网格中查看详细信息时,日期显示为12/30/1989而不是12/31/1989。
我通过更改我的电脑的时区调试应用程序,并在调试中发现了
C#
1 2 3 4 | public ActionResult GetPatients([DataSourceRequest] DataSourceRequest request, int includePatientId = 0) { return Json(this.patienModel.RetrieveActivePatients().ToDataSourceResult(request)); } |
剑道网格
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | @(Html.Kendo().Grid<RxConnectEntities.Patient> ().Name("PatientList") .Columns(columns => { columns.Bound(p => p.PatientID).Visible(false); columns.Bound(p => p.Name).Width(100); columns.Bound(p => p.Gender).Width(80); columns.Bound(p => p.DateOfBirth).Width(90) .Format("{0:MM/dd/yyyy}") .EditorTemplateName("DateOfBirth") .Filterable(false).HtmlAttributes(new { id ="gridDateOfBirth" }) .ClientTemplate("#: kendo.toString(kendo.parseDate(data.DateOfBirth),'MM/dd/yyyy') #"); columns.Bound(p => p.PhoneNumber).Title("Phone Number").Width(110); columns.Command(command => { command.Custom("Select").Click("OnSelectRow"); command.Custom("Edit").Text("Edit").Click("EditGrid"); }).Width(120); }) .Pageable(p => p.PageSizes(true)) .DataSource(dataSource => dataSource .Ajax().ServerOperation(true) .PageSize(5) .Model(m => m.Id(p => p.PatientID)) .Read(read => read.Action("GetActivePatientList","Order") .Data(@"function(){ return{ includePatientId:" + (TempData["includePatientId"] ?? 0) + @" } }")) .Destroy(delete => delete.Action("Deletepatient","Order")) ) ) |
我有强类型剑道网格的类似问题。 这听起来很奇怪,将强类型的一个改为JS对应解决了我的问题。 我找不到任何解释,但我猜我可以明确告诉列类型="日期"。 我知道这不符合逻辑,但至少你可以试试。
1 2 3 4 5 6 7 8 9 10 11 | schema: { model: { id:"PatientID", fields: { PatientID: {}, Name: {}, Gender: {} DateOfBirth: { type:"date" } } } } |
您可以使用DateTime.Date去除日期的时间部分。
1 2 3 4 | var testDateTime = DateTime.Now; var testDate = dateAndTime.Date; // Save testDate to SQL Server |
这应该在保存时将时间部分设置为