2

エンティティを含むMVC3プロジェクトがあります。DateTimeプロパティにデータ注釈がありますDisplayFormat(DataFormatString="{0:dd/MM/yyyy hh:mm:ss}")

引数としてエンティティを持ち、同じエンティティオブジェクトでビューを呼び出し、その日付プロパティを表示するメソッドを持つコントローラー。

そこで、ブラウザを開いてリンクを入力するとhttp://site/entity/method?dateproperty=01/09/2012 01:02:03(2012年9月1日)、表示されます09/01/2012 01:02:03(2012年1月9日)。

私が使用しているビューでは、DisplayFormatが設定されているDisplayForように表示されます。dd/MM/yyyy

MM/dd/yyyy問題は、それが代わりに読んでいるということdd/MM/yyyyです、何か解決策はありますか?

PS globalizationweb.configで試しまし<sysmte.web>たが、役に立ちませんでした。

4

1 に答える 1

2

問題は、属性で指定していないことであると思わます。そのため、デフォルトの形式を使用して解析していますが、指定している形式でフォーマットしています。ApplyFormatInEditMode = true

私は決してMVC開発者ではありませんが、同じ形式を両方向で使用したい場合は、属性を次のように変更できると思います。

[DisplayFormat(ApplyFormatInEditMode = true, 
               DataFormatString="{0:dd/MM/yyyy HH:mm:ss}")]

24時間形式が必要だと思われるため、に変更hhしたことに注意してください。HH実際にはyyyy-MM-ddTHH:mm:ss、URLパラメーターのあいまいさの少ない形式として(ISO-8601)を使用することをお勧めします。もちろん、よりユーザー中心の表示形式を使用します。

于 2012-09-01T14:28:29.083 に答える