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 中显示正确的时间?

ExtJs 4 从另一个控制器同步调用函数

Date-Calcendar-DateFormat-System-Math

在 ExtJs4 中重命名组件的路径

ExtJS4.2.1搭建简单的管理系统