我正在使用剑道与asp.net mvc
@Html.EditorFor(model => model.shipmentDate)
它在Chrome v56中显示空白值,而Chrome v49.0.2623则不是这种情况。
这是ViewModel:
[Display(Name = "Shipment Date")]
[Required(ErrorMessage = "Please select a shipment date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime shipmentDate { get; set; }
另外,使用Chrome的开发者工具检查此元素我有:
<input data-val="true" data-val-date="The field Shipment Date must be a date." data-val-required="Please select a shipment date" id="shipmentDate" name="shipmentDate" type="text" value="03/09/17" data-role="datepicker" class="k-input" role="combobox" aria-expanded="false" aria-owns="shipmentDate_dateview" style="width: 100%;">
如您所见,该值从Controller传递,但不显示日期。
此版本的Chrome应该更改哪些内容?
答案 0 :(得分:0)
这是Telerik的一个已知问题:http://www.telerik.com/forums/kendo-ui-date-blank-in-chrome-56-0-2924
您可以将Kendo.Mvc.dll更新为最新版本,例如剑道2017.2.621
或添加HtmlAttributes type =“text”作为解决方法:
@(Html.Kendo().DatePicker().Name("Date")
.Value(Model.date)
.HtmlAttributes(new { type = "text" })
)
或将@ Html.EditorFor更改为@ Html.Kendo()。DatePicker(),并使用此版本的chrome兼容格式(“yyyy-MM-dd”):
@(Html.Kendo().DatePicker().Name("Date")
.Value(Model.date)
.Format("yyyy-MM-dd")
)