سلام وقتتون بخیر پیشاپیش عیدتون مبارک
من از PersianCulture.cs استفاده کردم برای نمایش شمسی تاریخ های میلادی!
کد زیر رو توی global نوشتم :
protected void Application_BeginRequest(object sender, EventArgs e) { var persianCulture = new GSD.Globalization.PersianCulture(); System.Threading.Thread.CurrentThread.CurrentCulture = persianCulture; System.Threading.Thread.CurrentThread.CurrentUICulture = persianCulture; }
حالا میخوام تمام صفحاتی که داخل پوشه management توی پروژه ام قرار دارن تاریخشون میلادی باشن!
درواقع نمیخوام صفحات پنل مدیریت از Global پیروی کنن...
این کد رو بهم داده بودین نتونستم ازش استفاده کنم:
System.Globalization.PersianCalendar x = new System.Globalization.PersianCalendar(); DateTime dt = x.ToDateTime(1390, 4, 21, 0, 0, 0, 0, 0);
شما میتونید زمانی که وارد مسیر فوق میشه با استفاده از یک Handler زبان رو روی میلادی ست کنسد اینگونه اون ماژول از کار میوفته
متشکر
تابحال از Handler استفاده نکردم
سرچ زدم اینو پیدا کردم:
<urlMappings enabled="true"> <add url="~/Default.aspx" mappedUrl="~/Handler.ashx"/> </urlMappings>
نوشته بود توی web.config باید داخل system.web قرار بگیره
چطو باید ازش استفاده کنم؟ چه attribute هایی داره و باید برابر با چی قرار بدمشون؟
اینجا فقط ست شده
شما باید خود Handler رو بسازید
سرچ کنید How Create Handler Asp.Net
وای استاد پروژه من دوباره website هست web application نیست
توی website این handler رو نداره؟ :(
مگه میشه دوست من ؟
نمونه زیر رو ببینید
معذرت میخوام اشتباه از من بود به جای Generic Handler دنبال Handler میگشتم توی ویژوال!
خب متوجه شدم بنابراین باید ابتدا یک Handler بسازم
بعد از طریق کد زیر باید ست کنم:
<urlMappings enabled="true"> <add url="~/Management/Panel/Dashboard.aspx" mappedUrl="~/Management/Panel/Handler.ashx"/> </urlMappings>
تنها موردی که میمونه اینکه چه کدی توی Handler قرار بدم که تاریخ رو میلادی کنم؟
سلام مجدد خدمت شما استاد
ممکنه راهنمایی کنید که توی Handler باید چه کدی قرار بدم که در فلان صفحه از PersianCulture استفاده نکنه؟
درواقع الان مشکل من اینجاست که میخوام مطلبی که قبلا ثبت شده رو ویرایش کنم.
کد به این صورته:
protected void Page_Load(object sender, EventArgs e) { DAL run = new DAL(); DataTable dt = new DataTable(); string sqltext = string.Format("Select * From tbl_content Where ID={0} ", Request.QueryString["id"]); dt = run.ExecuteQuery(sqltext); id.Value = dt.Rows[0]["id"].ToString(); title.Text = dt.Rows[0]["title"].ToString(); description.Text = dt.Rows[0]["description"].ToString(); CKEditorControl1.Text = dt.Rows[0]["text"].ToString(); keywords.Text = dt.Rows[0]["keywords"].ToString(); pic.Text = dt.Rows[0]["picture"].ToString(); date.Text = dt.Rows[0]["datereg"].ToString(); } protected void Button1_Click(object sender, EventArgs e) { DAL d1 = new DAL(); if (Page.IsValid == true) { string st = string.Format("update tbl_content set title=N'{0}',description=N'{1}',text=N'{2}',keywords=N'{3}',picture=N'{4}' where ID={5}", title.Text, description.Text, CKEditorControl1.Text, keywords.Text, pic.Text, id.Value); d1.ExecNonQuery(st); Response.Redirect("successfully.aspx"); } else { Response.Redirect("Unsuccessful.aspx"); } }
فیلد date داره محتوی datereg که تاریخ ثبت توی دیتابیس هست رو میگیره. اما متاسفانه شمسی میاد توی فیلد و نمیتونم ثبتش کنم!!
فقط میخوام که توی این فیلد از persian پیروی نکنه که شمسی نشه :(
میتونید شمسی رو تبدیل به میلادی کنید و بعد ذخیره کنید
خب استاد من همین کار رو بلد نیستم که شمسی رو تبدیل به میلادی کنم!!
سایتی هست با نام گوگل با آدرس اینترنتی Google.com که وقتی واردش بشید یه کادر برای جستوجو داره که میتونید در اون کادر بنویسید تبدیل تاریخ میلادی به شمسی در سی شارپ براتون چندین لینم میاره که جواب رو میتونید پیدا کنید
System.Globalization.PersianCalendar x = new System.Globalization.PersianCalendar(); DateTime dt = x.ToDateTime(1390, 4, 21, 0, 0, 0, 0, 0);
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)