2011-04-19 2 views
0

만약 내가 mysite/Catalog에 간다면 깨집니다. 어떻게 해결할 수 있습니까?ASP.NET 루트 문제

routes.MapRoute(
    "Localization", // Route name 
    "{lang}/{controller}/{action}/{id}", // URL with parameters 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
); 

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}/{id}", // URL with parameters 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults 
); 

routes.MapRoute(
    "Root", 
    "", 
    new { controller = "Home", action = "Index", id = "" } 
); 

답변

2

"카탈로그"가 "lang"인 첫 번째 경로와 일치합니다. 지역화에 대한 제약 조건을 만들어야합니다.

에 따라 경로가 제대로 (... KO-GB, 욕실, CS, 드 또는 EN-US와 같은)

routes.MapRoute("Localization", "{lang}/{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
    new { lang = "[a-z]{2}(-[a-z]{2})" } 
); 
+0

감사를 모든 언어 코드로 시작 요청을 일치해야합니다! 이건 정말 멋지다. –