2016-06-23 9 views
0

MVCでASP.Netを使用していて、時間のない日付を表示しようとしています。私は2つの日付、StartDateとEndDateを持っています。 EndDateに問題が発生してもStartDateを表示することはできません。私の読書からは、それはそれがnull可能な日付であると信じています。私のディスプレイではあるがMVC - 日付がNULL可能である可能性のない時間を表示する

public Nullable<System.DateTime> EndDate { get; Set; } 

public string ReturnStartDateForDisplay { 
    get 
    { 
     return this.StartDate.ToString("d"); 
    } 
} 

し、それを表示する:私は新しい文字列を定義することによって、私の開始日を表示することができた

@Html.DisplayFor(modelItem => item.EndDate) 

私の終了日は次のように定義されています。

@Html.DisplayFor(model.Item => item.ReturnStartDateForDisplay) 

答えて

2

これは可能です

public string ReturnEndDateForDisplay 
{ 
    get 
    { 
     return this.EndDate.HasValue ? this.EndDate.Value.ToString("d"): string.Empty; 
    } 
} 

そして、このように使用:あなたは新しいReturnStartDateForDisplayプロパティを定義する必要はありません

@Html.DisplayFor(model.Item => item.ReturnEndDateForDisplay) 
+0

これはうまくいきました。ありがとうございました –

2

DisplayFormat属性を使用してStartDateEndDateをSystem.ComponentModel.DataAnnotationsを使用して飾る:

[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)] 
public DateTime StartDate{ get; set; } 

[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)] 
public DateTime? EndDate{ get; set; } 

NULL値は、魔法のようにあなたのために処理されます。

+0

これははるかに良く機能しました。前の例では、私の「更新」に関する問題が発生しました。 –

関連する問題