gpt4 book ai didi

asp.net-mvc - ASP.net MVC - 带有 DateTime 的模型,试图为 jqGrid 的 Json() 序列化

转载 作者:行者123 更新时间:2023-12-01 02:42:31 27 4
gpt4 key购买 nike

我有一个模型...

    [DataContract]
public class DeviceModel
{
[DataMember(Order=1)]
public string Alias { get; set; }

[DataMember(Order = 2)]
public string Location { get; set; }

[DataMember(Order = 3)]
public string State { get; set; }

[DataMember(Order = 4)]
public DateTime? DateCreated { get; set; }

[DataMember(Order = 5)]
public string RatePlan { get; set; }

public DeviceModel()
{
Alias = null;
Location = null;
State = null;
DateCreated = null;
RatePlan = null;
}
}

如您所见,该模型包含一个 DateTime 对象。我正在使用这个模型作为我们正在使用的 jqGrid 插件的数据。唯一的问题是,当网格加载时,DateCreated 字段显示“/Date(1285128000000)/”,而不是可读日期。我已经阅读了这里的其他一些帖子,但我觉得它们不太符合我正在寻找的内容。我正在寻找一种方法将此 DateTime 字段格式化为人类可读的字符串?有什么建议吗?

最佳答案

JSON 只知道两种基本数据类型:字符串和数字,没有 Date类型。数据协定序列化程序支持 more types .例如DateTime , DateTimeOffset , TimeSpan , Guid , Uri , XmlQualifiedName .如果您将数据发送到客户端,该客户端也使用 Data Contract Serializer 来反序列化数据,您可以毫无问题地使用任何数据类型。

您的问题最简单的解决方案是在发送数据之前在服务器上准备数据。如果您只序列化只有字符串和数字作为属性或数组的对象/IList<T>那么你就没有问题了。例如,默认情况下 jqGrid 等待 ISO 日期格式 中的数据:Y-m-d带有 Y 的数字, md .如果将服务器上的数据转换为 Y-m-d 格式并使用 formatter:'date'在相应的colModel定义您的问题将得到解决。

您还可以使用 custom formatter 在客户端解决问题和 custom unformatter .

关于asp.net-mvc - ASP.net MVC - 带有 DateTime 的模型,试图为 jqGrid 的 Json() 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3770626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com