我正在构建一个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字符串的属性,并在服务器上进行格式化。在客户端上进行处理是不必要的步骤。