Я не думаю, что вам нужно использовать области
Чтобы сделать то, что вы хотите, можно сделать, определив маршруты в global.asax для каждого «субконтроллера», чтобы помочь движку.(Я предположил, что Contact
и Facility
- это отдельные controllers
?)
Это означает, что нужно быть очень точным в отношении того, какой шаблон идет по какому маршруту, но я думаю, что нижеприведенное будет делать то, что вам нужно.
Добавьте эти 2 новых маршрута в глобальный asax (выше маршрута по умолчанию):
routes.MapRoute(
"ContactRoute", // Route name
"Company/{id}/Contact/{action}/{contactId}", // URL with parameters
new { controller = "Contact", action = "Index"
} // Parameter defaults
);
routes.MapRoute(
"FacilityRoute", // Route name
"Company/{id}/Facility/{action}/{facilityId}", // URL with parameters
new { controller = "Facility", action = "Index"
} // Parameter defaults
);
Я не на 100% в коде, вам может потребоваться определить contactId
и facilityId
как необязательный, но я надеюсь, что это даст вам идею?