【问题标题】:Serializing DateTime back to AJAX method将 DateTime 序列化回 AJAX 方法
【发布时间】:2016-12-01 01:37:31
【问题描述】:

我的 AJAX 方法返回一个视图模型,它是一个使用JavaScriptSerializer().Serialize() 序列化的数据结构。此数据包括许多可为空的 DateTime? 属性。

我注意到这些日期在 JavaScript 中显示为 "/Date(1480551007625)/" 格式的字符串。经过一番研究,我想出了如何将其转换为 JavaScript 日期。

但问题是,如果我将数据发布回我的 AJAX 方法,我会收到以下错误:

/Date(1480551007625)/ 不是 DateTime 的有效值。

即使我没有在视图模型中修改该值,也会发生此错误!也就是说,我只是发回完全相同的、未修改的视图模型对象。

如何在客户端的视图模式下转换 DateTime 属性,以便它们可以回发到服务器并转换回DateTime 属性。

【问题讨论】:

标签: javascript c# asp.net ajax webforms


【解决方案1】:

我猜你需要做类似的事情

serializer.Deserialize<DateTime>("/Date(1480551007625)/");

如果没有 &lt;DateTime&gt;,我希望反序列化返回一个字符串,并将这种格式的字符串转换为 DateTime 可能不起作用。

【讨论】:

  • 尝试将数据解析为我的 C# 数据结构时发生错误。所以在我的 C# 代码在这里获得控制权之前就出现了错误。
【解决方案2】:

令我惊讶的是,这waaaaaaaaaay太麻烦了。因此,在我的视图模型中,我将日期字段更改为字符串,并以"2016|12|1" 格式存储字符串。

问题解决了。

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 2020-05-25
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多