是否可以将DateTime参数发布到ASMX Web服务中的Web方法(使用JSON序列化的RPC样式调用)?将DateTime参数传递给ASP.NET Web服务
我正在向浏览器发送一个DateTime,并以/ Date(1350639464100 + 0100)/格式进行序列化。然后,我可以使用优秀的moment.js库来解析日期,并将其显示在页面上。
我的问题是将此日期返回给服务器,并使用AJAX发布到我的Web服务。我的Web方法看起来是这样的:
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void Save(DateTime date)
{
// Do stuff
}
如果我尝试在相同的格式发送日期作为它下来(/日期(1350639464100 + 0100)/)然后我得到一个错误:
/日期(1350639464100 + 0100)/不是DateTime的有效值。
有没有更好的选择将它作为字符串发送,然后解析服务器上的值?理想情况下,我希望能够往返于服务器往返发送对象,而不必更改它们可能包含的任何日期属性。
感谢您的帮助!
这是一个合理的回退选项,但我宁愿使用直接使用DateTime参数,因为它可以将对象传入和传出服务器,而无需在发送任何属性之前更改任何属性。 –
您必须将客户端的日期(1350639464100 + 0100)转换为服务器可接受的日期格式,例如:dd/mm/yyyy或mm/dd/yyyy。尝试发送该格式的字符串...服务器将它识别为日期 –
感谢您的帮助Otto,将日期作为字符串发送(但仍使用DateTime参数类型)效果很好。在你提出这个建议之前,我还没有想过这样做,我担心这种方法的本地化。似乎以通用格式发送日期(例如2012-10-19)是安全的。 –