旧版Kendo MVC Scheduler(2016.1.226.545)在Edge中无法渲染事件
旧版Kendo MVC Scheduler在Microsoft Edge中无法渲染事件的解决办法
针对你使用Kendo MVC 2016.1.226.545版本的Scheduler组件在旧版Edge(EdgeHTML内核)中无法渲染事件、选择日期报错的问题,以下是具体排查和解决步骤:
1. 补全事件模型必填字段
Scheduler组件渲染事件必须依赖Title字段,你的DeploymentScheduleDto中未定义该属性,这是事件无法渲染的核心原因之一:
- 修改
DeploymentScheduleDto添加Title属性:
public class DeploymentScheduleDto { // 保留原有字段 public string Title { get; set; } }
- 在控制器映射数据时补充赋值:
Title = a.Description, // 或设置其他合适的标题内容
2. 调整时区配置
旧版Kendo的时区处理逻辑在EdgeHTML内核的Edge中存在兼容性bug,可尝试以下调整:
- 暂时移除
.Timezone("Etc/UTC")配置,测试事件是否正常渲染; - 或把服务端返回的日期转换为客户端本地时间,去掉UTC标记:
Start = ((DateTime)a.Start).ToLocalTime(), End = ((DateTime)a.End).ToLocalTime(),
3. 禁用ServerOperation
启用ServerOperation(true)时,旧版Scheduler与Edge的交互可能存在数据处理逻辑冲突,改为客户端处理数据:
.DataSource(d => d.Read("Meetings_Read", "VehicleDeployment", new { Area = "Fleet", driverId = 1 }) .ServerOperation(false)) // 将true改为false
4. 排查Edge控制台报错
打开Edge开发者工具(F12)切换到控制台,查看选择日期时的具体错误信息:
- 如果是JS语法或API兼容错误,说明旧版Kendo的JS代码在EdgeHTML中存在适配问题,需要安装Telerik官方针对该版本发布的Edge兼容补丁;
- 如果是日期处理相关错误,可参考步骤2调整时区或日期格式。
5. 应用对应版本补丁
Telerik在2016年针对旧版Edge的兼容性发布过hotfix,你可以在Telerik后台下载对应2016.1.226版本的补丁包,替换项目中的Kendo JS/CSS文件。
内容的提问来源于stack exchange,提问作者ECie
相关产品推荐
相关产品推荐

