До сих пор я узнал, как настроить правильную маршрутизацию, если я хочу, чтобы язык был в URL, например, .../en/MyController/MyMethod
.Со следующей маршрутизацией это прекрасно работает до сих пор:
routes.MapRoute("Default with language", "{lang}/{controller}/{action}/{id}",
new
{
controller = "Report",
action = "Index",
id = UrlParameter.Optional,
}, new { lang = "de|en" });
// Standard-Routing
routes.MapRoute("Default", "{controller}/{action}/{id}", new
{
controller = "Report",
action = "Index",
id = UrlParameter.Optional,
lang = "de",
});
Теперь я вставил новую область Cms
, и я вызываю AreaRegistration.RegisterAllAreas();
в Application_Start ().
Как только яПозвоните контроллеру в этой области, мне не хватает языковой клавиши:
MvcHandler handler = Context.Handler as MvcHandler;
if (handler == null)
return;
string lang = handler.RequestContext.RouteData.Values["lang"] as string;
Как я могу заставить вышеуказанную маршрутизацию работать с областями?
Thx для любых подсказок, sl3dg3