Extjs4,包含MS dateFormat 同步的存储?
Posted
技术标签:
【中文标题】Extjs4,包含MS dateFormat 同步的存储?【英文标题】:Extjs4, store that contain MS dateFormat sync? 【发布时间】:2012-08-16 21:22:10 【问题描述】:Extjs 网格模型有,
name: "ORDERDATE",
type: 'date',
dateFormat: 'MS'
我尝试了具有上述模型的同步存储,
那么发布日期的格式是这样的(Json类型),
ORDERDATE "\/Date(1346212800000)\/"
我猜是因为这种格式,
在 Asp.net(C#) 中无法使用 DateTime 获得该值?变量。
我尝试使用 DateTime 接收该数据? ORDERDATE,但它始终具有 Null 值。
所以,我想尝试将日期发布格式更改为“m/d/y”,但我不知道该怎么做,
谁知道,请指教。
谢谢。
【问题讨论】:
【参考方案1】:我遇到了同样的问题。在我的日期字段上使用 convert
配置 (docs) 对我有用。
所以我的模型是这样的:
fields: [
name: 'SomeField', type: 'string'
...
, name: 'TimeStamp',
type: 'date',
//dateFormat: 'MS',
convert: function (value, record)
//Convert date type that .NET can bind to DateTime
var date = new Date(parseInt(value.substr(6)));
return Ext.Date.format(date, 'l, F d, Y g:i:s A'); //Full Date Time
]
我相信将来我们可以使用 serialize
配置 (docs) 在将模型发送到服务器之前转换字段。听起来它只适用于 4.1.2 及更高版本。
在这种情况下,我相信这会起作用:
fields: [
name: 'SomeField', type: 'string'
...
, name: 'TimeStamp',
type: 'date',
dateFormat: 'MS',
serialize: function (value, record)
//Convert date type that .NET can bind to DateTime
var date = new Date(parseInt(value.substr(6)));
return Ext.Date.format(date, 'l, F d, Y g:i:s A'); //Full Date Time
]
【讨论】:
【参考方案2】:要更改日期格式,您可以使用此chart from the docs。
所以dateFormat: 'm/d/y'
应该为您解决问题。
虽然我会等着看是否有任何 asp.net 向导弹出来提供帮助,因为我觉得它自己的 Asp.net 不支持 microsoft 格式看起来很奇怪。
【讨论】:
感谢您的回答,有没有办法在同步存储时解码“Microsoft AJAX 序列化日期”?因为 dateFormat 应该是 'MS' 并且在同步存储时,我想将日期类型发布为 'm/d/y'。 好的,当dateFormat:'ms'
和dateFormate:'m/d/y'
时,你在请求中得到了什么?
如果使用 dateFormat:'m/d/y',它不会显示任何内容。服务器发送日期数据为 "ADATE":"\/Date(1345003200000)\/"
好吧,澄清一下,是服务器返回给客户端的数据你看不懂,还是客户端发给服务器的数据服务器看不懂?
对我来说,与存储“同步”用于更新/创建/销毁,其中“加载”用于读取操作。以上是关于Extjs4,包含MS dateFormat 同步的存储?的主要内容,如果未能解决你的问题,请参考以下文章
在将 json 反序列化为对象时,使用 jackson 将 asp.net / MS 专有 json Dateformat 转换为 java8 LocalDateTime
如何让 GridPanel 在 ExtJS 4 中显示正确的时间?