是否可以將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)是安全的。 –