我正在构建一个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),
等......
一切都适用于表格中的foreach绑定 数据等..但问题是在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保存到数据库。 我做得很好还是有其他更好的方法来做到这一点?
答案 0 :(得分:1)
似乎ViewModel中的属性是DateTimes,这会导致您看到的格式。他们需要成为DateTimes吗?
我会创建ViewModel字符串的属性并在服务器上进行格式化。在客户端上进行处理是不必要的步骤。