C# 使用时间戳时自动反序列化JSON数据

C# 使用时间戳时自动反序列化JSON数据,c#,ajax,asp.net-mvc,json.net,C#,Ajax,Asp.net Mvc,Json.net,我需要以datetime格式将javascript时间戳带到服务器。我的javascript对象包含一个带有日期戳的属性 ex:{“fromDate”:“新日期(1427826600000)”} 但是服务器端的模型将fromDate设置为DateTime。我需要在服务器端将其反序列化为DateTime,因为我使用的是不同的区域性 下面是代码 Ajax调用 $.ajax({ type: "POST", url: "Report/Update", dataType: "jso

我需要以datetime格式将javascript时间戳带到服务器。我的javascript对象包含一个带有日期戳的属性
ex:{“fromDate”:“新日期(1427826600000)”}

但是服务器端的模型将
fromDate
设置为
DateTime
。我需要在服务器端将其反序列化为DateTime,因为我使用的是不同的区域性

下面是代码

Ajax调用

$.ajax({
    type: "POST",
    url: "Report/Update",
    dataType: "json",
    contentType: 'application/json',
    data: JSON.stringify(model),
public class Report
{
 [JsonConverter(typeof (JavaScriptDateTimeConverter))]
 public DateTime FromDate { get; set; }

 [JsonConverter(typeof (JavaScriptDateTimeConverter))]
 public DateTime ToDate { get; set; }
}
型号

$.ajax({
    type: "POST",
    url: "Report/Update",
    dataType: "json",
    contentType: 'application/json',
    data: JSON.stringify(model),
public class Report
{
 [JsonConverter(typeof (JavaScriptDateTimeConverter))]
 public DateTime FromDate { get; set; }

 [JsonConverter(typeof (JavaScriptDateTimeConverter))]
 public DateTime ToDate { get; set; }
}
控制器

[HttpPost]
public JsonResult UpdateReport(Report data)
{
        ...
}

我无法执行此操作,您能帮我吗?

如果
aMs
包含JS date,请使用此代码将其转换为C#DateTime:

new DateTime(aMs * 10000 + 621355968000000000L);

为此,我们需要添加一个新的int属性。我尽量避免这样。我们不能使用jsonserializer实现这一点吗?事实上,您的属性已经附加了JavaScriptDateTimeConverter,它应该自动执行转换,而无需任何进一步的处理。为什么它对您不起作用?同样在您的代码中,例如:{“fromDate”:“new Date(1427826600000)”}-它不应该是:{“fromDate”:1427826600000}因为我正在使用ajax调用该方法,所以数据不会自动反序列化,无论您想要什么,我都可以这样做。但是为了支持本地化,它必须是时间戳