نوشته شده توسط
مهدی کرامتی
یک کلاس برای انجام کاری که درخواست کردید در ASP.NET Core ضمیمه کردم. این کلاس، در همه ورژن های دات نت کور جواب میده.
برای فعال کردنش در ASP.NET Core، در ابتدای متد ConfigureServices در StartUp این خط رو اضافه کنید:
// Persian date to be added here.
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.DefaultThreadCurrentUICulture = PersianDateExtensionMethods.GetPersianCulture();
همین کلاس در آخرین ورژن Blazor و انواع دیگر پروژه های مبتنی بر دات نت کور هم جواب میده. بعنوان مثال، در پروژه های کنسول و ... که فایل لانچر اصلی شون Program.cs است همین دستور رو در ابتدای متد Main فرخوانی کنید.
البته، افزودن کلاس ضمیمه شده به پروژه های مقصد فراموش نشود.
سلام جناب کرامتی
واقعا تشکر میکنم از پاسخگویی شما
مشکل نمایش تاریخ شمسی در کل پروژه حل شد ولی الان مشکلی که دارم اینه که در حالت ویرایش، تاریخ به درستی نشون داده نمیشه
این قطعه کد مربوط به ویو در حالت Edit
<div class="form-group">
<label asp-for="NewsDate" class="control-label"></label>
<input asp-for="NewsDate" class="form-control" />
<span asp-validation-for="NewsDate" class="text-danger"></span>
</div>
این هم کد کلاس
[Display(Name = "تاریخ خبر")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[DisplayFormat(DataFormatString = "{0:yyyy/MM/dd}", ApplyFormatInEditMode = true)]
public System.DateTime NewsDate { get; set; }
جالبیش اینه که وقتی ApplyFormatInEditMode را true قرار میدم در زمان ویرایش تاریخ را خالی نشون میده و وقتی false میکنم تاریخ را در textbox نشون میده
با تشکر فراوان