如何滚动"JSON from Viewmodel"数组以更改 KnockoutJS 的日期格式?



我正在构建一个MVC3站点,并使用Knockout/JSON作为第一个站点这次,我是JSON的新手,在Javascript方面不如以前那么擅长。我在剃刀视图中使用MVC3模型,解析为Json

cshtml中的模型是

@model IEnumerable<MySite.Models.UserViewModel> 

然后:

var initialData = @Html.Raw(Json.Encode(Model)); 
var viewModel = { 
                fields: ko.observableArray(initialData), 

等等。。。。。

在显示数据等。但问题是在JSON数组/模型中存在一些日期,我需要更改以正确显示它们。

实际上,日期的显示方式类似于/日期(1319929111857)/

我会滚动所有数组并截取标签"BirthDate",然后解析调用如下函数的日期:

function formatJSONDate(jsonDate){ 
    var newDate = dateFormat(jsonDate, "mm/dd/yyyy"); 
    return newDate; 

我该怎么做?我试了几个小时使用下面这样的函数,但我不知道如何调用JSON数组的BirthDate:标签并更改内容:

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编辑字段,并将所有数组重新发送到控制器,并将i保存到DB。我做得很好,还是有其他更好的方法?

ViewModel中的属性似乎是DateTimes,这导致了您所看到的格式设置。它们需要是DateTimes吗?

我会制作ViewModel字符串的属性,并在服务器上进行格式化。在客户端上进行处理是不必要的步骤。

最新更新