2012-08-16 160 views
1

EXTJS網格模型具有Extjs4,包含MS dateFormat同步的商店?

{ 
    name: "ORDERDATE", 
    type: 'date', 
    dateFormat: 'MS' 
} 

,我試圖具有上述模型同步存儲,

然後將日期發佈格式是這樣(JSON型),

ORDERDATE "\/Date(1346212800000)\/" 

和我猜是因爲這種格式,在Asp.net(C#)

無法得到使用日期時間價值?變量。

我想接收使用的DateTime數據? ORDERDATE,但它始終爲空值。

所以,我想嘗試改變日期後的格式爲「M/d/Y」,但我不知道如何做到這一點,

有人知道,請諮詢我。

謝謝。

回答

2

我遇到了同樣的問題。在我的日期字段上使用convert config(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 
     } 
    } 
] 
1

要更改您可以使用此chart from the docs的日期格式。

所以dateFormat: 'm/d/y'應該爲你做的伎倆。

雖然我會等待,看是否有asp.net彈出的嚮導中,以幫助因爲它看起來很奇怪,我認爲微軟的格式不被自己的Asp.net支持。

+0

謝謝您的回答,有沒有辦法使解碼「微軟AJAX連載日期」,同步在店?因爲dateFormat應該是'MS',當同步存儲時,我想將日期類型作爲'm/d/y'發佈。 – 2012-08-17 12:32:00

+0

好的,當'dateFormat:'ms''和你用'dateFormate:'m/d/y''得到什麼時,你在請求​​中得到了什麼? – Izhaki 2012-08-17 12:34:14

+0

如果使用dateFormat:'m/d/y',則不顯示任何內容。服務器發送日期數據爲「ADATE」:「\\ Date(1345003200000)\\」「 – 2012-08-17 12:46:46