2012-01-15 5 views
0

마스터 페이지에서 ASP.NET 4.0 Web Forms를 사용하고 있습니다. 내 Global.asax.cs 파일에 다음 라우팅 규칙이 : 나는 루트에서 콘텐츠 페이지를 표시하려면 위의 규칙을 변경할 때 잘 작동하위 폴더의 라우팅 페이지

routes.MapPageRoute("", "Ministries", "~/Ministries/Ministries.aspx"); 

. http://localhost/church/ministries을 사용하여 페이지로 이동하면 페이지에 디렉토리보기가 표시됩니다. 내가 뭘 놓치고 있니?

답변

2

경로와 폴더 이름이 충돌하기 때문에 경로 이름을 변경하고 폴더 이름을 변경하십시오.

routes.MapPageRoute("ministries", "Ministries", "~/Ministry/Ministries.aspx"); 

하고 (하는 ASP에서 : 어떤 예를하는 LinkButton 사용) 이런 식으로 이동합니다

NavigateUrl="<%$RouteUrl:RouteName=ministries %>" 

그냥 경로를 하드 코딩하는 ASP의 라우팅 엔진을 통해 전송하지 않습니다, 당신은 그것을 가리키는했다 디렉토리에, 그것은 더 잘 모른다.

+0

이 구문을 사용하여 만든 링크이며 여전히 디렉터리보기가 표시됩니다 ... – IrishChieftain

+1

ahh ... 폴더 이름이 경로와 동일합니다. 폴더의 이름을 바꾸고 경로를 조정하십시오. 디렉터리보기가 라우팅보다 우선합니다. – justinlabenne

+0

그랬습니다. 명확하게하기 위해 웹 양식을 다시 작성하여 올바른지 확인하고 다음 규칙을 사용했습니다. routes.MapPageRoute ("Ministries", "Ministries", "~/Ministry/Ministries.aspx"); – IrishChieftain

관련 문제