2014-02-12 3 views
0

사이트를 다시 디자인하고 있지만 MVC5를 사용하여 개발을 시작한 후 요구 사항 중 하나가 현재 URL 구조를 그대로 유지하고 있습니다.MVC5 라우팅 문제

사이트가 모두 설계되었지만 이제는 경로를 사용하여 이러한 URL을 구축 할 방법을 찾고 있습니다. 같은

routes.MapRoute(
name: "Default", 
url: "{controller}/{action}/{id}", 
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

과에 약간의 변화 :

가 나는 표준을 설명하는 게시물 및 자습서의 톤 보았다 긴 폴더 조밀 한 구조를 만들 수

{controller}/{action}/{name} 

하지만 전혀 I 계속 지키려고합니다.

(서식 코딩)

[http://www.domain.com/menu/.Dessert....../.Ice-Cream......./.Flavor-Ice-Cream/] 
[http://www.domain.com/menu/{categoryName}/{subCategoryName}/{productInThisSubCategory}] 

일부도 깊은 폴더 구조를 가지고있다.

나는이 작업을 수행 할 수있는 쉬운 방법이 확신

하지만 ....

답변

1

사용 AttributeRoutes.

[HttpGet, Route("menu/{categoryName}/{subCategoryName}/{productName}")] 
public ActionResult Menu(string categoryName, string subCategoryName, 
    string productName) 
{ 
    ... 
} 

속성 노선 MVC5에 새로운,하지만 지금은 몇 시간 동안 MVC4 낮은 프로젝트를 위해 사용할 수있다 인기 AttributeRouting.NET 도구를 기반으로합니다.

경로 정의를 통상적이지 않은 경로에 대한 "신 라우트 파일"패턴을 피하면서 작동하는 동작에 가깝게 유지할 수 있습니다.

+0

Perfect. 도와 주셔서 감사합니다! 굉장해 :) – ZombieBunnies