ورود

View Full Version : سوال: مشکل با تعریف Route برای سایت دو زبانه



i.lover3000
سه شنبه 31 تیر 1393, 00:24 صبح
سلام
من دارم یه سایت دو زبانه طراحی میکنم که آدرس میخوام به این شکل باشه
www.mysite.com/en/Home/index (http://www.mysite.com/en/index)
www.mysite.com/fa/Home/index (http://www.mysite.com/fa/index)

این روت رو تعریف کردم :

routes.MapRoute(
name: "Localization",
url: "{lang}/{controller}/{action}/{id}",
defaults: new { lang = "fa", controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "ITSH.Controllers" }
);

مثلا اگه این آدرس رو بدم http://mysite.com/ShowSubMenu?menuId=2
ShowSubMenu یک اکشن در HomeController هست
ولی به جای اکشن ShowSubMenu اکشن Index رو اجرا میکنه
باید چه تغییری بدم؟

اگه Route دیفالت رو هم بزارم کنارش بازم درست نمیشه

routes.MapRoute(
name: "Default1",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "ITSH.Controllers" }
);

hadi0x7c7
سه شنبه 31 تیر 1393, 14:08 عصر
به این مطالب یه نگاه بیندازید شاید راه گشا باشد.

http://www.codeproject.com/Articles/72264/Routing-a-Localized-ASP-NET-MVC-Application
http://www.jittuu.com/2014/3/17/AspNet-localization-routing/

hasty0087
یک شنبه 16 آذر 1393, 09:44 صبح
به این مطالب یه نگاه بیندازید شاید راه گشا باشد.

http://www.codeproject.com/Articles/72264/Routing-a-Localized-ASP-NET-MVC-Application
http://www.jittuu.com/2014/3/17/AspNet-localization-routing/

منم به همین مشکل برخوردم،البته در MVC، باید چیکار کنم؟

مهدی کرامتی
دوشنبه 17 آذر 1393, 00:16 صبح
من Default Route رو به این شکل تغییر دادم و مشکلی هم نداشت:
routes.MapRoute(
name: "Default",
url: "{language}/{controller}/{action}/{id}",
defaults: new { language="fa",controller = "Home", action = "Index", id = UrlParameter.Optional }
);