2009-11-14 5 views
1

Route Debugger로 몇 가지 옵션을 테스트했지만 운이 없었습니다. 제가 시도하고 무엇을 설명하자 다음과 같이 내가 모든 경로가 "번역"한Asp.Net Mvc Route 문제

을 (나는 포르투갈어 영어 번역 언젠가 단순화하기 위해 필요) :

routes.MapRoute("Article.Create", "cms/artigo/criar", 
       new { controller = "Article", action = "Create" }); 

모두가 노력하고 있습니다. 내가 정의한 모든 경로가 있기 때문에 나는 Default를 필요로하지 않는다고 생각한다. 그것은 알 수없는 오류 만 표시 "http://domain.com/erro"
다음 일치하지 않으면 홈/색인 경우 루트가 다음없이 일치로 번역 매핑을 통해가는 경우

// Other translation routes 
routes.MapRoute("Article.Create", "cms/artigo/criar", 
       new { controller = "Article", action = "Create" }); 
routes.MapRoute("Article.Edit", "cms/artigo/editar/{id}", 
       new { controller = "Article", action = "Edit", id = "" }); 
routes.MapRoute("Home.Index", "inicio", 
       new { controller = "Home", action = "Index" }); 
routes.MapRoute("Home.Contact", "contacto", 
       new { controller = "Home", action = "Contact" }); 

// Error Unknown 
routes.MapRoute("Error.Unknown", "erro", 
       new { controller = "Error", action = "Unknown" }); 

// Start 
routes.MapRoute("Start", "_Default.aspx", 
       new { controller = "Home", action = "Index" }); 

// Error NotFound 
routes.MapRoute("Catch.All", "{*path}", 
       new { controller = "Error", action = "NotFound", path = "" }); 

: 그래서 내가 좋아하는 뭔가가있다. 나는 항상 NOTFOUND 오류로 간다 내 사이트를 시작할 때

<customErrors mode="On" defaultRedirect="~/Error/Unknown"> 
    <error statusCode="404" redirect="~/Error/NotFound" /> 
</customErrors> 

는 무슨 일이다
마지막으로 모든 경로를 잡아 내의 Web.config에

http://domain.com/the/invalid/path 나는이 "다음과 같이 경로 만 표시 간다 페이지를 시작하지.

을 내가 잘못 뭐하는 거지?

+0

질문을 편집하고 코드를 수정하여 코드로 표시하면 훨씬 쉽습니다. 101010 버튼을 클릭하고 거기에 코드를 붙여 넣으십시오. – Luke101

+0

문제의 코드 위젯을 사용하여 코드를 강조 표시하지 않는 이유는 무엇입니까? –

답변

0

당신이 정의하는 유일한 URL, 홈 페이지 포인트는, "~/yourapp/_Default.aspx"하지만 시작 URL입니다 입니다 (""). ~/yourapp/", 당신의 Catch.All 루트가 정확히 가로 챌 것입니다. 당신이 당신의 시작 경로를 변경해야합니다 : 당신이 당신의 경로를 단위 테스트하려면

MapRoute("Start", "", new { controller = "Home", action = "Index" }); 

이 Btw는 당신이에 관심이있을 수 .: : Unit testing ASP.NET MVC routes합니다. 경로를 테스트 할 수있는 테스트 픽스처를 표 형식으로 제시합니다. 가능한 많은 경로 (샘플 코드 제공)가있는 경우에 이상적입니다.