Razor 字符串(';yyyyMMddHHmmss';)到使用columns.Bound的Kendogrid的日期格式

Razor 字符串(';yyyyMMddHHmmss';)到使用columns.Bound的Kendogrid的日期格式,razor,model-view-controller,kendo-ui,telerik,Razor,Model View Controller,Kendo Ui,Telerik,从后端我收到一个格式为“yyyyMMddHHmmss”的字符串。当它显示在剑道网格中时,我需要它的格式为“MM/dd/yyyy HH:MM:ss” 我在一个MVC模型中工作,试图在从后端获取数据时更改日期,但当我们运行更新时,更新的行的格式错误 我试过: columns.Bound(p => p.UploadDate).Format("{0:yyyyMMddHHmmss}"); 它不会格式化日期 我也尝试过以下的变化 columns.Bound(p => p.UploadDate

从后端我收到一个格式为“yyyyMMddHHmmss”的字符串。当它显示在剑道网格中时,我需要它的格式为“MM/dd/yyyy HH:MM:ss”

我在一个MVC模型中工作,试图在从后端获取数据时更改日期,但当我们运行更新时,更新的行的格式错误

我试过:

 columns.Bound(p => p.UploadDate).Format("{0:yyyyMMddHHmmss}");
它不会格式化日期

我也尝试过以下的变化

columns.Bound(p => p.UploadDate).ClientTemplate("#=UploadDate ? kendo.toString(kendo.parseDate(UploadDate,yyyyMMddHHmmss), 'MM/dd/yyyy HH:mm:ss')#");

这两种方法都会在页面上创建“无效模板”错误

只有当
UploadDate
是模型上的
DateTime
对象时,
.Format()
函数才会工作:

columns.Bound(p => p.UploadDate).Format("{0:yyyyMMddHHmmss}");
您的第一个ClientTemplate示例失败,因为您使用的是内联速记if语句,但缺少错误部分“:”(请参阅下面的客户端模板解决方案)

我相信您的第二个ClientTemplate示例失败了,因为“yyyyMMddHHmmss”不是标准的日期格式,因此
kendo.dateParse()
函数失败

如果无法将字段转换为模型中的日期时间,则必须使用ClientTemplate。试试这个:

columns.Bound(p => p.UploadDate)
       .ClientTemplate("#= UploadDate 
                       ? kendo.toString(kendo.parseDate(UploadDate, 'yyyyMMddHHmmss'), 'MM/dd/yyyy HH:mm:ss') 
                       : '' #");
参考资料:

只有当
UploadDate
是您的型号上的
DateTime
对象时,
.Format()
功能才会工作:

columns.Bound(p => p.UploadDate).Format("{0:yyyyMMddHHmmss}");
您的第一个ClientTemplate示例失败,因为您使用的是内联速记if语句,但缺少错误部分“:”(请参阅下面的客户端模板解决方案)

我相信您的第二个ClientTemplate示例失败了,因为“yyyyMMddHHmmss”不是标准的日期格式,因此
kendo.dateParse()
函数失败

如果无法将字段转换为模型中的日期时间,则必须使用ClientTemplate。试试这个:

columns.Bound(p => p.UploadDate)
       .ClientTemplate("#= UploadDate 
                       ? kendo.toString(kendo.parseDate(UploadDate, 'yyyyMMddHHmmss'), 'MM/dd/yyyy HH:mm:ss') 
                       : '' #");
参考资料: