با سلام و خسته نباشد
چطور میشه اردس پیفرض سایت رو تغییر دارد ؟ میخوام با تغییر تنظیمات زبان پیشفرض سایت ادرس سایت تغییر کنه برای مثال
وقتی زبان پیشفرض سایت فارسی هست ادرس سایت به صورت زیر باشه :
www.sitename.com/fa
و زمانی که زبان سایت انگلیسی هست
www.sitename.com/en
و......
Routing سایت درسته و کاملا درست کار میکنه فقط میخوام وقتی ادرس رو توی ادرس بار مرورگر بدون ذکر کالچر زدم یکی از ادرس های بلا لود بشه بجای www.sitename.com
میتونید در Global در رویداد BeginRequest آدرس را چک کنید
اگر زبان نداشت یکی را به ته آدرس اضافه کنید
امکانش هست نمونشو بزارید؟؟
متاسفانه نمونه ندارم
internal protected void Application_BeginRequest(object sender, EventArgs e) { // Get objects. HttpContext context = base.Context; HttpResponse response = context.Response; // Complete. base.CompleteRequest(); }
اینو نوشتم اما کار نمیکنه error هم نمیده
protected void Application_BeginRequest(object sender, EventArgs e) { var lang = HttpContext.Current.Request.QueryString["lang"]; if (string.IsNullOrWhiteSpace(lang)) { using (AppDbContext db = new AppDbContext()) { string cultur = db.SuperSettings.SingleOrDefault().Language.Cultur; Context.RewritePath("/" + cultur); } } }
باید Redirect کنید آدرس رو به آدرس جدید
وقتی ریدایرکت میکنم سایت بالا نمیاد عکس رو ببینید
کوکی رو هم پاک کردم
ممنون استاد درست شد .
کد درست رو گذاشتم اگه دوستان خواستن استفاده کنن
protected void Application_BeginRequest(object sender, EventArgs e) { HttpContextBase currentContext = new HttpContextWrapper(HttpContext.Current); RouteData routeData = RouteTable.Routes.GetRouteData(currentContext); string language = routeData.Values["lang"].ToString(); if (string.IsNullOrWhiteSpace(language)) { using (AppDbContext db = new AppDbContext()) { string cultur = db.SuperSettings.SingleOrDefault().Language.Cultur; Response.RedirectToRoutePermanent("langDefault",new {lang = cultur }); } } }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)