2011-09-20 44 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作为可选的,但我希望它给你一个想法?