2011-09-20 1 views
1

내가 작업중인 프로젝트에는 회사가 있습니다. 회사에는 연락처와 시설이 있습니다. 비즈니스 규칙에 따라, 연락처 또는 시설에 액세스 할 회사를 선택하는 흐름이 있습니다.MVC 3 영역 - 계층 적 워크 플로

편집 : 엔티티는 회사, 시설 및 연락처입니다.

각 엔티티마다 자체 워크 플로가 있으므로 코드에 각각 하나의 영역이 있습니다./679

/회사 소개/1234/연락처/456

/회사 소개/1234/시설

가 있었다면 : 어떤 것은 라우팅 URL이 뭔가 아래와 같이 될 것이다 그쪽으로 확인하는 깨끗한 방법이 될 것입니다 좋은 방법처럼 보이지만 코드를 지저분해질 수있는 다음 영역으로가는 길.

+0

entiy가 무엇인지 또는 그 항목이 무엇인지 명확히 할 수 있습니까? –

답변

2

난 당신이 엔진을 돕기 위해 각 "subcontroller"에 대한의 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 등의 옵션을 정의해야 할 수도 아니에요,하지만 아이디어가 있기를 바란다면?