【问题标题】:.Net DateTime format not recognised as a parameter - called from Javascript.Net DateTime 格式不被识别为参数 - 从 Javascript 调用
【发布时间】:2011-06-23 18:50:01
【问题描述】:

我有一个以 DateTime 作为参数的 MVC 操作方法。此操作是从 Javascript 调用的。

我无法让它识别带有时间的日期。我使用不变的格式,例如escape("2011/09/22 12:00:00") 但该值未绑定在操作中。

如果我只提供日期部分,例如escape("2011/09/22"),可以正常工作,但时间值也应该是正确的格式,但它不受模型绑定器的约束......

【问题讨论】:

    标签: .net asp.net-mvc model-view-controller datetime model-binding


    【解决方案1】:

    我在将日期导入 asp.net 网络服务时遇到问题;我花了一段时间才找出所需的格式。但是一旦我找到它,我就有足够的信息来创建一个小的 stringify-type js 函数:

    dateToString = function (d) {
            function _zeroPad(v) {
                return v < 10 ? '0' + v : v;
            }
                    return d.getUTCFullYear()           + '-' +
                  _zeroPad(d.getUTCMonth() + 1) + '-' +
                  _zeroPad(d.getUTCDate())      + 'T' +
                  _zeroPad(d.getUTCHours())     + ':' +
                  _zeroPad(d.getUTCMinutes())   + ':' +
                  _zeroPad(d.getUTCSeconds())   + 'Z';
    };
    

    【讨论】:

    • 感谢肖恩的第一个回答。我的回答使用了与此格式相同的日期...感谢您的帮助。
    【解决方案2】:

    我找到了一个适合我的解决方案(并且可能会以类似于肖恩的答案的格式生成日期)...

    我只是在 Javascript 中创建了一个日期,并将其作为数据发布为 Ajax 请求的一部分

    例如

    var d = new Date("2011/09/22 12:00:00");
    

    导致发布日期格式为

    2011-09-22T02:00:00.000Z

    已被 MVC 的模型绑定接受。由于时间格式,小时不同(我在澳大利亚)

    【讨论】:

      【解决方案3】:

      试试

       escape("2011-09-22 12:00:00") 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-12
        • 1970-01-01
        • 2013-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-16
        相关资源
        最近更新 更多