2017-12-31 39 views
0

MVCアプリケーションでモデルからドイツ語の日付形式(dd.MM.yyyy)で日付を表示し、その日付をユーザーに提供します。私はすでにこのトピックについて回答されている質問の多くを徹底的に調査してきましたが、まだそれを働かせることはできません。 FirefoxとEdgeで試してみましたが、それぞれのステップで同じ結果が得られました。MVC Editor日付が表示されない値

ステップ1:

モデル:

private DateTime? inbetriebnahmedatum; 

public DateTime? Inbetriebnahmedatum 
{    
    get { return inbetriebnahmedatum; } 
    set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); } 
} 

ビュー:

@Html.EditorFor(model => model.Inbetriebnahmedatum, new { htmlAttributes = new { @class = "form-control", placeholder = "Datum eingeben" } }) 

結果:いいえ日付ピッカー、時刻が表示され、検証エラー enter image description here

ステップ2:追加データ型

モデル:

private DateTime? inbetriebnahmedatum; 

[DataType(DataType.Date)] 
public DateTime? Inbetriebnahmedatum 
{ 
    get { return inbetriebnahmedatum; } 
    set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); } 
} 

ビュー:変わらない

結果:値がロードされていません。 enter image description here

ステップ3:

private DateTime? inbetriebnahmedatum; 

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")] 
public DateTime? Inbetriebnahmedatum 
{ 
    get { return inbetriebnahmedatum; } 
    set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); } 
} 

ビュー:変わらない

結果:日付表示、ない日付ピッカーと検証エラー enter image description here

displayFormatには、データ型が

モデルを削除し、追加

手順4:Web.configへのcultureの追加

Web。コンフィグ

<globalization uiCulture="de-DE" culture="de-DE" /> 

結果:同じ enter image description here

ステップ5:追加データ型を再度

モデル:

private DateTime? inbetriebnahmedatum; 

[DataType(DataType.Date)] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")] 
public DateTime? Inbetriebnahmedatum 
{ 
    get { return inbetriebnahmedatum; } 
    set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); } 
} 

結果は:ロードされていない値は、日付ピッカーを示し enter image description here

+1

'DataFormatString'はブラウザーのHTML-5 datepickerを生成するときに 'yyyy-MM-dd'(ISO形式)にして、それを使用する全体の点であるユーザーカルチャに表示されます。 –

+0

jQueryの日付ピッカー(例:jQueryUI)を使用しますが、クライアント側の検証には '$ .validator'も再設定する必要があります。 –

+0

@StephenMuecke:そうです、今は動作します - ありがとう。 –

答えて

0

私はよく分からないが、uは>>この が好きなように入力してみてください試すことができます。2018年1月1日

または

[DisplayFormat(DataFormatString = "{0:MMM dd, yyyy}")] 

または

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

Show Time and data using Data annotation

+0

申し訳ありませんが、私はドイツ語の形式が必要です。質問が更新されました。 –

関連する問題