Якщо в моєму модельному класі є властивість типу, DateTime
як я можу відображати його у визначеному форматі - наприклад, у тому форматі, який ToLongDateString()
повертається?
Я спробував це ...
@Html.DisplayFor(modelItem => item.MyDateTime.ToLongDateString())
... що кидає виняток, оскільки вираз повинен вказувати на властивість або поле. І це...
@{var val = item.MyDateTime.ToLongDateString();
Html.DisplayFor(modelItem => val);
}
... що не кидає виняток, але виведений результат порожній (хоча val
містить очікуване значення, як я міг бачити на відладчику).
Заздалегідь дякую за поради!
Редагувати
ToLongDateString
є лише прикладом. Те, що я насправді хочу використовувати замість цього, ToLongDateString
- це власний метод розширення DateTime
та 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 "";
}
Отже, я думаю, я не можу використовувати DisplayFormat
атрибут та DataFormatString
параметр у властивостях ViewModel.