2012-11-12 4 views
1

컨트롤러 이름이 포함되지 않은 URL 라우팅 : 컨트롤러 여전히 VehicleController 나는에ASP.NET 나는 다음과 같은 URL 직접 싶습니다

public ActionResult Index(int wheel, int direction, int highlight) 

: 컨트롤러 액션에

http://myweburl/Wheel/466/Direction/903/Highlight/7 

을 내 홈페이지/색인을 사이트의 루트 URL로 유지하고 싶습니다. 따라서 누군가 입력 한 경우

그들은 Home/Index으로 연결됩니다. 어떻게해야합니까?

+0

로 follwing을 추가합니다. 매개 변수 휠, 방향 및 강조 표시는 서로 다릅니다. 방향은 바퀴의 범주가 아니며 하이라이트는 방향의 범주가 아닙니다. 카테고리/항목과 같은 관계가있는 항목은 '/'로 구분할 수 있습니다. 그 값을 경로 매개 변수 대신 쿼리 문자열로 전달하고 그 방법으로 좀 더 RESTful이라고 제안 할 것입니다. – VJAI

+0

제안에 대한 @Mark 감사하지만 이것은 단지 생산 된 코드에서 매개 변수와 관련된 인위적인 예입니다. (게시하기 전에 조금 더 생각해야 함) –

답변

2

그냥 내가 당신을 위해 제안을했습니다 기본 경로 위의 경로 (홈/색인)

routes.MapRoute(
    name: "WheelRoute", 
    url: "Wheel/{wheel}/Direction/{direction}/Highlight/{highlight}", 
    defaults: new { controller = "VehicleController", action = "Index" } 
); 
관련 문제