ASP.NET MVC Kendo UI Edit Popup Internet Explorer Date Edit Problems

Posted

技术标签:

【中文标题】ASP.NET MVC Kendo UI Edit Popup Internet Explorer Date Edit Problems【英文标题】: 【发布时间】:2014-03-09 22:10:13 【问题描述】:

我有一个使用编辑模式弹出窗口的 Kendo UI 网格。一切正常,直到我尝试使用 [HiddenInput(DisplayValue = false)] 从弹出窗口中隐藏日期字段,现在在弹出窗口中进行编辑时,我得到“字段 ModifyDate 必须是日期”。它在 Chrome 中按预期工作,但在 IE 中不正常。

控制器:

[HiddenInput(DisplayValue = false)]
public DateTime? ModifiedDate  get; set; 

查看:

@(html.Kendo().Grid<AdminWasherViewModel>()
                  .Name("grdWasher")
                  .Columns(columns =>
                  
                      columns.Bound(m => m.WasherItemNumber).Width(70);
                      columns.Bound(m => m.OuterDiameter).Width(100);
                      columns.Bound(m => m.Thickness).Width(85);
                      columns.Bound(m => m.InnerDiameter).Width(100);
                      columns.Bound(m => m.LastModifiedBy).Width(100);
                      columns.Bound(m => m.ModifiedDate).Format("0:MM/dd/yyyy hh:mm:ss");

                      columns.Command(command =>
                      
                          command.Edit();
                          command.Destroy();
                      );
                  )
                  .ToolBar(toolbar => toolbar.Create())
                  .Editable(editable => editable.Mode(GridEditMode.PopUp))
                  .Scrollable()
                  .HtmlAttributes(new  @class = "dimGrid" )
                  .Sortable()
                  .Pageable(pageable => pageable.PageSizes(true))
                  .DataSource(dataSource => dataSource
                      .Ajax()
                      .Events(events => events
                          .Error("HandleError")
                          .RequestEnd("HandleEndRequest"))
                      .Model(model => model.Id(m => m.WasherID))
                      .Read("ReadWasher", "AdminWasher")
                      .Create("CreateWasher", "AdminWasher")
                      .Update("UpdateWasher", "AdminWasher")
                      .Destroy("DeleteWasher", "AdminWasher"))
                  )

【问题讨论】:

我也面临同样的问题。而 Kendo UI 是一个付费框架…… 【参考方案1】:

问题

问题在于,当您从模型返回日期时,该日期会在 &lt;input /&gt; 上呈现,其值为:

“2014 年 9 月 8 日星期一 10:56:00 UTC-0300”*

当您在 NOT HIDDEN 输入中使用它时不会发生,因为 Kendo 日期选择器将日期格式化为:

“2014 年 10 月 8 日上午 10:56”*

解决方法

很遗憾,我还没有找到解决此错误的好方法。我发现的一种解决方法是不填充该字段,因为它可以使用空值。

【讨论】:

以上是关于ASP.NET MVC Kendo UI Edit Popup Internet Explorer Date Edit Problems的主要内容,如果未能解决你的问题,请参考以下文章

使用 Kendo UI Asp.net mvc core 未显示图表组件

asp.net mvc kendo ui grid 加密列数据

带有 Asp.net MVC 的 Kendo UI 图表

用于 jquery CRUD 的 Asp.net core mvc + kendo ui

如何使用 ASP.NET MVC 在 Kendo UI Grid 中实现 N 级嵌套层次结构

Asp.Net MVC 应用程序的 Kendo UI 与 Jquery/Bootstrap 设计决策