2013-04-15 8 views
6

私は英国でコンパイルされ、米国のサーバーでホストされているMVC4アプリを持っています。私のモデルでは、必要な日付フィールドがあります。地域によって日付を確認します

日付ピッカーが接続されています。日付を選択すると、日付は英国の形式 "DD/MM/YYYY"に設定されます。 2014年12月23日フォームを送信すると、アプリケーションはフォーマットを予期しないので、検証エラーをスローします。 MVC4で

どうか:

  1. は、すなわち日付形式をオーバーライド両方の日付形式を受け入れますか?私は日付形式を設定しましたが、複数の日付形式を指定することはできません
  2. サーバー側Linqを使用してデータベースに日付を保存しています。これにより、間違った形式としてエラーが発生します。私は英国の日付に変換する必要があると思う?
  3. 詳細をロードするときに、ユーザーの場所に応じて正しい形式で日付を入力してください。
  4. ユーザーサーバー側の場所を検出しますか?

ユーザーのグローバリゼーションに基づいて非常に検証する方法の詳細は誰にもありますか?

おかげWeb構成で

答えて

1

は、グローバル化のセクションでは、「オート」に文化を設定します。 これは

<globalization culture="Auto" /> 

.NET Frameworkが解析し、ユーザーの文化とMVCとエンティティの両方が正しく動作するに応じてデータをレンダリングします(番号および日付時刻の形式を含む)は、ユーザーの現在のカルチャを使用します。

2

web.configに下記のセグメントを追加しましたか?

<globalization 
    enableClientBasedCulture="true" 
    uiCulture="auto" 
    culture="auto" /> 

あなたの日付をDateTime形式で読んでください。それはあなたに問題を与えるべきではありません。

もう1つの方法は、サーバーサイドコードで日付を常にDateTimeUTCとして読み取ることです。また、日付を画面に表示するときは、.ToLocalTime()

関連する問題