我正在構建一個MVC3網站,並在第一個 時間使用Knockout/JSON,我是JSON的新手,但並不擅長JavaScript。 我使用的剃刀視圖中MVC3模型,解析成JSON如何滾動「ViewModel的JSON」數組來更改KnockoutJS的日期格式?
在CSHTML的模型是
@model IEnumerable<MySite.Models.UserViewModel>
然後:
var initialData = @Html.Raw(Json.Encode(Model));
var viewModel = {
fields: ko.observableArray(initialData),
等.....
所有的foreach綁定在一個表中顯示 數據等,但問題是,在JSON數組/模型有 某些日期,我需要更改以正確顯示它們。
其實,日期顯示像/ 日期(1319929111857)/
我會滾動所有的陣列和攔截標籤「出生日期」和 解析日期調用這樣的功能:
function formatJSONDate(jsonDate){
var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
return newDate;
我該怎麼做? 我嘗試了好幾個小時用一個函數一樣,下面,但我不知道 如何調用生日:JSON數組的標籤,並改變了 內容:
formatDate: function() {
for (var i=0; i<this.fields().length;i++)
{//foreach JSON array item,find BirthDate: /Date(sssf) and encode it correctly}
改變JSON將呈現正確的數據在視圖中。
之後,我需要能夠使用JqueryUI Datepicker編輯字段,並將所有數組重新發送到控制器並將我保存到數據庫。 我做得很好,還有其他更好的方法可以做到這一點嗎?
謝謝。所以你建議在將數據傳遞給模型之前將數據轉換爲字符串? 我會使用JQuery的日期選擇器,我記得它需要一個DateTime對象,如果不是很好,但如果它需要一個對象,我需要再次在客戶端將其轉換爲正確顯示日期.. – 2012-01-13 04:20:04
@ user1146891 - 即使使用Jquery datepicker,這不應該是一個問題。它具有幫助函數,可以用你想要的格式解析和格式化日期。 $ .datepicker.formatDate(格式,日期,設置) - 將日期格式化爲具有指定格式的字符串值。 $ .datepicker.parseDate(格式,值,設置) - 從指定格式的字符串值中提取日期。 – drneel 2012-01-13 12:25:39
@dmeel完美的是,我在創建JSON之前將數據服務器端轉換,現在它在視圖上按預期工作。謝謝你的時間 – 2012-01-13 18:54:56