2010-05-09 6 views
0

기본 ASP.NET MVC 프로젝트는 하나의지도 노선 사용자 지정 ASP.NET MVC지도 노선

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

그리고이 같은 URL이 동일

등이있다 , www.mysite.com/home/index

하지만

  routes.MapRoute(
      "Sitemap", 
      "{controller}/{action}", 
      new { controller = "Sitemap", action = "ShortMap" } 
     ); 
같은지도 노선을 사용하려고 시도하는 경우

및 테스트 URL www.mysite.com/sitemap 나는 오류 (404)을받을 그러나 나는 www.mysite.com/sitemap/shortmap 같은 일이

어떻게 올바르게지도 노선을 쓸 수 있다고 기대하고있어?

답변

0

지도 경로 문제를 해결하는 데 도움이되는 가장 좋은 점은 Phil Haack의 경로 도구 http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx입니다. 경로를 사용하는 방법과 경로를 확인하는 가장 좋은 방법입니다.

/sitemap/action을 시도하면 어떻게됩니까?

+2

라우팅 디버거도 MvcContrib에 있습니다. http://mvccontrib.codeplex.com/ – CVertex

1

단어 컨트롤러를 정확하게 입력해야합니다.

당신은

+0

코드에 실수가 아닙니다. 이 코드에 의해 문제를 해결 : routes.MapRoute ( "MainPage", "" 새로운 {컨트롤러 = "홈"행동 = "색인"} ); routes.MapRoute ( "맵" "맵/동작 {}" 새로운 제어기 {= "맵"액션 = "ShortMap"} ); 이제 www.mysite.com/sitemap 및 www.mysite.com/sitemap/shortmap이 동일합니다. 기본 MapRoute influnce로 인해 작동하지 않았습니다. – shadeglare

0

보기 "ShortMap는"정말 확실히 존재하는지 확인하는 것이 contoller 철자 있습니다. 나는 알고있다, 그것은 간단하다 - 그러나 나에게 몇 번 일어났다.