2016-06-23 3 views
0

MVC와 함께 ASP.Net을 사용하고 시간을 표시하지 않고 날짜를 표시하려고합니다. StartDate와 EndDate라는 두 개의 날짜가 있습니다. EndDate에 문제가있는 경우 StartDate를 표시 할 수 있습니다. 내 독서에서, 나는 그것이 nullable 날짜이기 때문에 그것이라고 생각합니다. 내 디스플레이가 있지만MVC - 날짜가 null 일 수있는 시간없이 날짜 표시

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

:

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

와 함께 표시 : 나는 새로운 문자열을 정의하여 내 STARTDATE를 표시 할 수 있었다

@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; 
    } 
} 

그리고 사용

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

그 덕분에, 고마워요. –

2

당신은 새로운 ReturnStartDateForDisplay 속성을 정의 할 필요가 없습니다. 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; } 

널 값은 마술 당신을 위해 처리됩니다.

+0

훨씬 잘 작동했습니다. 이전 예에서 '업데이트'문제가 발생했습니다. –