내 모델 클래스에 유형의 속성이있는 경우 DateTime
어떻게 특정 형식으로 렌더링 할 수 ToLongDateString()
있습니까 ( 예 : 반환 되는 형식) ?
나는 이것을 시도했다 ...
@Html.DisplayFor(modelItem => item.MyDateTime.ToLongDateString())
...식이 속성 또는 필드를 가리켜 야하기 때문에 예외가 발생합니다. 이...
@{var val = item.MyDateTime.ToLongDateString();
Html.DisplayFor(modelItem => val);
}
... 예외가 발생하지 않지만 렌더링 된 출력이 비어 있습니다 ( val
디버거에서 볼 수 있듯이 예상 값이 포함되어 있음).
미리 팁을 주셔서 감사합니다!
편집하다
ToLongDateString
단지 예일뿐입니다. 대신에 실제로 사용하고 싶은 ToLongDateString
것은 DateTime
and 의 사용자 지정 확장 메서드입니다 DateTime?
.
public static string FormatDateTimeHideMidNight(this DateTime dateTime)
{
if (dateTime.TimeOfDay == TimeSpan.Zero)
return dateTime.ToString("d");
else
return dateTime.ToString("g");
}
public static string FormatDateTimeHideMidNight(this DateTime? dateTime)
{
if (dateTime.HasValue)
return dateTime.Value.FormatDateTimeHideMidNight();
else
return "";
}
따라서 ViewModel 속성에 DisplayFormat
특성과 DataFormatString
매개 변수를 사용할 수 없다고 생각 합니다.