Вы можете получить его из словаря RouteData
, который является членом вашего ControllerContext
.
В вашем методе контроллера (это проверенный код):
string area = this.DataContext.RouteData.DataTokens["Area"].ToString();
Маршрут, который я использую, выглядит следующим образом:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"MyRoute",
MyArea/{controller}/{action}/{id},
new {controller = "MyController", Action="Index" }
);
}
Обратите внимание, что, поскольку мои маршруты области более специфичны, чем мои корневые маршруты (в global.asax), я сначала регистрирую маршруты области .
Вам следует проверить свои маршруты с помощью отладчика маршрутов Фила Хаака и убедиться, что ваш URL-адрес соответствует правильному маршруту.