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