У меня есть старый MVC3 сайт, где я был в состоянии получить область маршрута, используя следующий код:MVC5 получить имя области при использовании атрибута маршрутизации
object oArea;
RouteData.DataTokens.TryGetValue("area", out aArea);
Я создаю новое приложение MVC5 и иметь начали использовать маршрутизацию на основе атрибута следующим образом:
[RouteArea("Area")]
[RoutePrefix("Test")]
public TestController
{
public ActionResult Index()
{
return View("Index");
}
}
к сожалению, оказалось, что при использовании маршрутизации на основе атрибутов, то набор RouteData.DataTokens пуст. Область информация оказывается погребена под RouteData в «MS_DirectRouteMatches», так что вы можете получить следующие данные:
RouteData.Values["MS_DirectRouteMatches"])[0].DataTokens.TryGetValue("area", out oArea);
Однако, мне было интересно, если есть проще, безопаснее и лучше, чтобы получить данные о площади в MVC5. Название области - это название под-инструмента в более крупном приложении, которое используется для некоторой логики в инициализации базового контроллера.
Я должен был ответить ранее, но это решение, с которым я пошел, даже до того, как увижу ваш ответ. Благодарю. – wigs