エリアを使う必要はないと思います
エンジンを支援するために、各「サブコントローラー」の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
をオプションとして定義する必要があるかもしれませんが、それがあなたにアイデアを与えることを願っていますか?