আমার মডেল ক্লাসে যদি টাইপের একটি সম্পত্তি থাকে তবে 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
প্যারামিটার ব্যবহার করতে পারি না ।