2

ASMX Web サービス内の Web メソッドに DateTime パラメーターをポストすることは可能ですか (JSON シリアル化された RPC スタイルの呼び出しを使用)?

DateTime をブラウザーに送信していますが、これは /Date(1350639464100+0100)/ の形式でシリアル化されます。その後、優れたmoment.jsライブラリを使用して日付を解析し、ページに表示することができます。

私の問題は、Web サービスへの AJAX 投稿を使用して、この日付をサーバーに返すことです。私の Web メソッドは次のようになります。

[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void Save(DateTime date)
{
    // Do stuff
}

送信されたのと同じ形式 (/Date(1350639464100+0100)/) で日付を送信しようとすると、エラーが発生します。

/Date(1350639464100+0100)/ は DateTime の有効な値ではありません。

これを文字列として送信し、サーバーで値を解析するより良い方法はありますか? 理想的には、オブジェクトに含まれている可能性のある日付プロパティを変更することなく、サーバーとの間で往復でオブジェクトを送信できるようにしたいと考えています。

助けてくれてありがとう!

4

2 に答える 2

7

私はこれを次のように機能させています。

DateTime パラメーターを使用する Web メソッド:

[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void Save(DateTime date)
{
    // Do stuff
}

日付を文字列として送信する Web メソッドへの AJAX ポスト (ローカリゼーションの問題を回避するための国際形式):

{"date": "2012-10-19"}

または、moment.jsを使用して:

{"date": moment().format("YYYY-MM-DD HH:mm:ss")}
于 2012-10-19T11:20:40.720 に答える
0

パラメータの型を文字列に変更してから、その文字列を任意の型に変換できます

   public void Save(String date){
     *Code*
    }
于 2012-10-19T09:55:03.987 に答える