Nasıl belirli bir formatta bir DateTime işlemek için 3 MVC ASP.NET ?
Eğer model benim sınıfta kalırsam 6* *türünde bir özellik nasıl ToLongDateString()
döndüren biçiminde örneğin belirli bir biçimde işlemek olabilir miyim?
Bu denedim...
@Html.DisplayFor(modelItem => item.MyDateTime.ToLongDateString())
...ifade bir özellik veya alan göstermelidir, çünkü bir özel durum atar. Ve bu...
@{var val = item.MyDateTime.ToLongDateString();
Html.DisplayFor(modelItem => val);
}
...istisna değil, ama işlenen çıkış boştur val
beklenen değer içerir, hata ayıklayıcı görebiliyordu rağmen.
Önceden ipuçları için teşekkürler!
Edit
ToLongDateString
sadece bir örnektir. Ben aslında ToLongDateString
yerine kullanmak istiyorum ne DateTime
DateTime?
özel uzantısı bir yöntemdir
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 "";
}
Yani, veremem ViewModel özellikleri DisplayFormat
nitelik ve DataFormatString
parametresini kullanın bence.
CEVAP
Eğer tüm yapmak istediğiniz belirli bir biçimi ile yeniden tarih ise, sadece çağrı:
@String.Format(myFormat, Model.MyDateTime)
@Html.DisplayFor(...)
kullanarak bir şablon belirtme sürece ekstra sadece iş veya şablonlar üzerine kurulu bir şey kullanmak için IEnumerable<T>
bir yineleme gibi gerekir. Şablon oluşturma, basit ve esneklik de sağlayabilir. Görüşlerinizi klasöründe geçerli denetleyicisi (veya paylaşılan klasör görünümleri) DisplayTemplates
adlı oluşturun. Bu klasör içinde, şablonu oluşturmak istediğiniz modeli türü ile kısmi bir görünüm ekleyin. Bu durumda /Views/Shared/DisplayTemplates
ekledim ve kısmi bir görünüm ShortDateTime.cshtml
adlı ekledi.
@model System.DateTime
@Model.ToShortDateString()
Ve şimdi şu satırı ile şablon arayabilirsiniz:
@Html.DisplayFor(m => m.MyDateTime, "ShortDateTime")
Nasıl Git grep belirli bir kelime için...
Nasıl tarih sadece SQL Server datetime...
Belirli bir görev için git bir yama iş...
Nasıl MySQL bir Datetime sütun için va...
Nasıl ilerleme iletişim ve arka plan i...