来自aspx

时间:2018-03-08 16:59:51

标签: asp.net json ajax date github

我甚至不确定如何提出这个问题。我遇到了一个非常奇怪的问题,涉及aspx页面上的DataTables.net控件,控件使用ajax调用来填充以检索结果。

我一直在将日期作为字符串返回,但是当点击列标题时排序完全错误。所以我改变了返回结果以使用DateTime?键入日期而不是字符串。这解决了排序问题,但现在日期格式严重。所以我找到了这篇文章:format json date to mm/dd/yy format before displaying in a jquery datatable 我用这个例子:

$('#userData').DataTable({
    columns: [
        { "data": "userId"},
        { "data": "userCreated",
          "type": "date ",
          "render":function (value) {
              if (value === null) return "";

              var pattern = /Date\(([^)]+)\)/;
              var results = pattern.exec(value);
              var dt = new Date(parseFloat(results[1]));

              return (dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear(); }
        }
    ]
};

但是,当我运行代码时,我的所有日​​期都出现在1929年。所以我检查了生成的json数据中返回到ajax调用的日期是什么样的,日期数据如下所示:

2017-10-29T19:57:46

所以我修改了我的代码:

{
    data: 'CreatedDate',
    "orderable": true,
    "searchable": true,
    "title": "Created Date",
    "type": "date",
    "render": function(value) {
        if (value === "") {
            return value;
        }
        var dt = new Date(value);
        return (dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear();
    }
},

这很有效,所以我致力于GIT,并进行了构建并部署到QA。代码在该环境中运行良好。

接下来,我从刚刚交付给QA的分支机构开始分支,这样我就可以开始处理与日期无关的下一个问题了。 我做了一些小的更改,这些更改不会影响返回控件结果的代码。我测试一下。神秘的所有日期再次出现在1929年。我检查json返回到ajax调用,现在日期数据如下所示:

“/日期(1510112492000)/”

所以我将代码还原回原始示例,现在日期在控件中正确显示。

我的问题是,是什么导致json日期数据改变形式?当我部署到QA环境时,我会发生什么?我很困惑。

0 个答案:

没有答案