我正在寻找一种方法将javascript日期传递给.NET web api控制器而无需在客户端上安装另一个库...
我期待javascript日期反序列化为.NET DateTime。
var date = new Date();
post({currentDate: date.toISOString()});
以DateTime.Min的身份到达服务器(表示无法反序列化)。
以下是通过网络发送内容的示例,但ApiController无法使用正确的日期创建DateTime ...
请求:
{"Date":"2014-04-16T17:03:03.383Z"}
C#:
[Serializable]
public class MyObj
{
public DateTime Date { get; set; }
}
public class MyController : ApiController
{
public HttpResponseMessage Post(MyObj dd)
{
// dd's Date property equals DateTime.Min rather than the correct date...
return null;
}
}
}
答案 0 :(得分:0)
删除[Serializable]属性。
答案 1 :(得分:-1)
我认为你应该从客户端推动滴答声。然后服务器端将从滴答中获取日期。 示例:
javascipt的:
var date = new Date();
post({ticks: date.getTime()});
.NET:
DateTime date = new DateTime(ticks);