2

Web APIにデータを投稿しています。投稿しているパラメーターの1つは、日付ピッカーによって選択された日付です。

以下は、アクションへの投稿データです(firebugからこれらの値を取得しました)

EndDate: "18/10/2012"(注:形式は:dd / mm / yyyy)

ABC:「気にしないでください...」

XYZ:「気にしないでください...」

LMNO:「気にしないでください...」

これで、コントローラーに、上記の3つの文字列フィールドと1つの日付フィールドを持つクラスがあります。

public class PostModel{

  public string ABC {get;set;}
  public string XYZ {get;set;}
  public string LMNO {get;set;}
  public DateTime EndDate {get;set;}
}

以下に示すような私のWebAPIで

public Something PostSomething(PostModel model)
{}

ここでは、EndDateの値を「mm / dd/yyyy」の形式で取得しています。欲しいのは「dd/mm/yyyy」です。

したがって、このために、次のようにweb.configファイルにもエントリを追加しました...

<system.web>
<globalization uiCulture="en-GB" culture="en-GB" />
</system.web>

これはまだ役に立ちません、誰かが私が何を間違っているのか教えてもらえますか?

より衝撃的な発見!!!

Web apiコントローラーの代わりに通常のコントローラーでこれを試してみましたが、非apiコントローラーで機能しました。他の誰かがこの問題に遭遇しましたか?

通常のアクション(Web API以外)では、このためのカルチャを設定する必要さえありませんでした。

助けてください。

4

2 に答える 2

0

終了日日時フィールドを文字列に変更し、この終了日を文字列としてコントローラーに送信しました。

次に、コントローラーで。を使用してこの文字列を日付に変換しましDateTime.Parse()た。

私はこれが望む最善の解決策ではないことを知っていますが、これは仕事を成し遂げます。

于 2012-12-05T04:23:38.407 に答える
0

JsonMediaTypeFormatterでJsonSerializerSettingsを微調整できるかどうか疑問に思っています。

config.Formatters.JsonFormatter.SerializerSettings.DateFormatHandling=..。

于 2013-04-06T01:12:20.243 に答える