2011-09-20 46 views
1

對於我正在開發的項目,我們有公司。公司有聯繫和設施。根據業務規則,流程是您選擇一家公司訪問聯繫人或設施。MVC 3 AREAS - 分層工作流程

編輯: 實體是公司,設施和聯繫人。

由於每個實體都有自己的工作流程,所以他們在代碼中都有一個AREA。這將是一個乾淨的方式,以確保THA路由URL將類似下面:

/公司/ 1234 /聯繫人/ 456

/公司/ 1234 /工廠/ 679

如果有通往下一個看起來像是一個好方法的區域的一種方式,但可能會使代碼變得混亂。

+0

你能澄清一下這個項目是一個項目還是項目? –

回答

2

我不認爲你需要使用領域

做你想要可以通過在Global.asax定義每個「子控制器」,以幫助發動機路線做什麼。 (我認爲ContactFacility是分開的controllers?)

它的意思是非常具體的模式是什麼路線,但我認爲下面會做你所需要的。

加入全球ASAX這2個新的路由(默認路由以上):

 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%,你可能需要定義contactIdfacilityId作爲可選的,但我希望它給你一個想法?