FineUI 官方论坛

标题: 【已知】Grid的DataKeyNames包含了DateTime类型字段的问题 [打印本页]

作者: hcp    时间: 2017-10-30 17:36
标题: 【已知】Grid的DataKeyNames包含了DateTime类型字段的问题
如题,Grid的DataKeyNames里设置DateTime类型的字段。当页面提交后,重新获取这个DateTime的值的精度减损了,毫秒级以下的值全部被置0。

请问能否保持原来的时间值精度?

作者: zy32002    时间: 2017-10-30 21:30
出示你的代码,我这没发现问题
作者: hcp    时间: 2017-10-31 09:01
本帖最后由 hcp 于 2017-10-31 09:06 编辑

我知道什么原因了。
如果不开启PageManager的EnableFStatePersistence,不在在服务端缓存FState数据,或者服务端缓存的FState数据已经过期失效,就会发生这个问题。
响应发送的表格数据里的DataKey就已经没有毫秒了。
[attach]10735[/attach]





作者: hcp    时间: 2017-10-31 09:03
zy32002 发表于 2017-10-30 21:30
出示你的代码,我这没发现问题

这个算不算Bug?
作者: sanshi    时间: 2017-11-1 21:56
这个是已知问题,FineUI在内部调用JSON.NET的ToString时,会将日期格式自动转化为:yyyy-MM-ddTHH:mm:ssZ

这个逻辑一直存在,并且满足大部分的应用场景,暂时不考虑调整。如果你确实需要保存毫秒数,可以考虑新增一个字符串列来保存。
作者: hcp    时间: 2017-11-2 08:08
本帖最后由 hcp 于 2017-11-2 08:11 编辑
sanshi 发表于 2017-11-1 21:56
这个是已知问题,FineUI在内部调用JSON.NET的ToString时,会将日期格式自动转化为:yyyy-MM-ddTHH:mm:ssZ

...

表格只读情况下,字符串列的值PostBack以后就获取不到了,这个怎么解决???而且我不需要把这个日期时间显示出来

作者: sanshi    时间: 2017-11-2 10:23
hcp 发表于 2017-11-2 08:08
表格只读情况下,字符串列的值PostBack以后就获取不到了,这个怎么解决???而且我不需要把这个日期时间 ...

我的意思是新增一个字符串列,比如LoginTimeString,然后设置DataKeyNames="Id,LoginTimeString"。和之前的操作类似
作者: hcp    时间: 2017-11-3 09:15
感觉这是一个坑,说不定哪天就又踩到了




欢迎光临 FineUI 官方论坛 (https://www.fineui.com/bbs/) Powered by Discuz! X3.4