You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kendo Grid模板日期格式化求助:.NET DateTime转JSON后格式无效

解决Kendo Grid模板中.NET DateTime日期格式化问题

我明白你遇到的困扰了——在构建Kendo Grid模板时,嵌套的语法转义和日期解析逻辑混乱导致格式化完全失效。让我帮你梳理问题根源,然后给出直接可用的解决方案:

问题出在哪?

你原来的代码里错误地嵌套了Kendo模板的#: ... #语法,还过度转义了#符号,导致Kendo根本无法识别data.${field}的实际值,反而把#:data.field#当成了纯字符串传给kendo.parseDate,自然没法完成日期格式化。

正确的模板写法

你只需要简化模板结构,去掉不必要的转义和嵌套语法,直接在#: ... #里编写日期处理逻辑就行:

ES6模板字符串写法(推荐,可读性更高)

fldInfo.template = `<a href="#">#: kendo.toString(kendo.parseDate(data.${field}), "MM/dd/yyyy") #</a>`;

ES5字符串拼接写法

fldInfo.template = '<a href="#">#: kendo.toString(kendo.parseDate(data.' + field + '), "MM/dd/yyyy") #</a>';

额外补充说明

  1. 关于kendo.parseDate:如果后端返回的是.NET默认的JSON日期格式(比如"/Date(1698729600000)/"),kendo.parseDate可以自动把它解析成JavaScript Date对象;如果后端已经返回ISO标准日期字符串(比如"2023-11-30T00:00:00"),其实可以省略parseDate,直接用kendo.toString(data[field], "MM/dd/yyyy")即可。
  2. Kendo模板语法规则:#: 表达式 #用于输出经过HTML编码的表达式结果,内部直接写JavaScript逻辑就好,完全不需要再嵌套#: ... #。

这样修改后,模板就能正确读取data中的日期字段,并格式化为你需要的MM/dd/yyyy样式了。

内容的提问来源于stack exchange,提问作者Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:36:31