यदि मेरे मॉडल वर्ग में मेरे पास संपत्ति का प्रकार है तो 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 "";
}
इसलिए, मुझे लगता है कि मैं ViewModel गुणों पर DisplayFormat
विशेषता और DataFormatString
पैरामीटर का उपयोग नहीं कर सकता ।