2012-04-18 3 views
1

Appress.Chapter 11에서 Pro ASP.NET MVC 3.0을 읽는 중입니다. URL 라우팅 시스템에 대한 것입니다. 나가는 섹션에서 추가 변수를 전달에서 는 bellowing 라우팅을 위해 예를 들어 URL 에서 세그먼트 값을 얻기에 관하여 설명 :asp.net mvc에서 나가는 라우팅

routes.MapRoute("MyRoute", "{controller}/{action}/{color}/{page}"); 
사용자가 URL/카탈로그/목록에서 현재 인 경우

/퍼플/123, 우리는 렌더링 로 연결되는 링크는 다음과 같습니다

@Html.ActionLink("Click me", "List", "Catalog", new {page=789}, null) 

라우팅 시스템은 경로에 일치하고 그것은 다음 HTML 생성합니다

,957을 나는 다음과 같은 예를 들어,이 코드를 사용할 때3210

는하지만 생성

<a href="/Catalog/List/Purple/">Click me</a> 

난 왜 이해가 안 돼요?

답변

0

당신의 Global.asax 파일에 다른 경로를 매핑 위의 그 길의지도를 이동

+0

는 사실 내가 일부 변경 (홈 대신 카탈로그의 색인 및 목록)와 ASP.NET MVC 인터넷 샘플에서이 예제를 사용 시도하고 예를 들어 홈 페이지에서 홀수 URL을 생성합니다. 홈/색인/보라색 또한 "About"에 대한 하나의 경로와 Html.Actionlink가 있습니다. @ Html.ActionLink ("Home", "Index" "홈", 새 {color = purple, page = 10}, null) ----- @ Html.ActionLink ("About", "About", "Home", new {page = 789}, null) Home 페이지에서 "Home/Index/Purple"대신 "About/About/Purple/10"을 프로젝트 할 것으로 예상했습니다. –

+0

Route Debugger를 사용해 보셨습니까? URL이 문제의 위치를 ​​구별하기 위해 어떤 경로를 치는지 정확히 알 수 있습니다. http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx – mattytommo

+0

그것은 굉장. 나는 그것을 시험 할 것이다. –