2012-03-02 2 views
4

나는 다음과 같은 경로가 있습니다asp.net MVC URL 동작 오래된 매개 변수 값 무시

context.MapRoute 
(
    "PersonArea_tripleInt", 
    "PersonArea/{controller}/{action}/{int1}/{int2}/{int3}", 
    new { controller = "Person", action = "Index" }, new { int1 = new IntConstraint(), int2 = new IntConstraint(), int3 = new IntConstraint() } 
); 

내가 이렇게 내 컨트롤러에 사용하고 있습니다 :

RoleListUrl = Url.Action("RoleList", "Person", new { Area = "PersonArea" }), 

이 URL을 생성하기를 : "/ PersonArea/Person/RoleList "

제 생각에는 int1, int2 및 int3 값을 채우는 드롭 다운이 있습니다. 나는 URL의 나머지 작성하기 위해 클라이언트에서 자바 스크립트를 사용하고 있습니다 :

"/ PersonArea/사람 /의 RoleList/12/76분의 43"이것은 큰 처음 작동하고

하지만, 페이지를 다시로드하면 내 컨트롤러에서 기본 URL을 만들 때 이전 값 (12, 43, 76)이 다시 사용됩니다.

"/ PersonArea/사람 /의 RoleList/43분의 12/88분의 76/78분의 154"

은 어떻게받을 수 있나요 Url.Action : 그래서, 경우 사용자는 다음 URL은 클라이언트에서 작성되는 드롭 다운과 상호 작용 클라이언트가 올바른 URL을 구성 할 수 있도록 서버에 대한 후속 게시물에서 이전 값 (12, 43, 76)을 무시합니까? 컨트롤러의 기본 URL ("/ PersonArea/Person/RoleList /")을 하드 코딩하는 대신 사용하고 있습니다.

저는 컨트롤러가 매번 "/ PersonArea/Person/RoleList"를 생성하고 클라이언트가 나머지 매개 변수를 채우게하려고합니다.

무엇이 누락 되었습니까? 감사.

RoleListUrl = Url.Action("RoleList", "Person", new { Area = "PersonArea", int1 = "", int2 = "", int3 = "" }), 

답변

1

명시 적 경로 값을 삭제하십시오.
+1

감사합니다,하지만 밖으로는 제거되지 않습니다 : –

+0

이상한. 그래서 컨트롤러에서 처음으로 3 ints 및 두 번째 시간없이 url을 생성 한 후 마지막으로 보낸 값으로 생성합니다. 확인하기 위해 중단 점을 해당 행에 직접 놓으십시오? – Lester

+0

고마워, 그것은 나를 위해 작동합니다. –