2014-06-08 2 views
0

MVC3, ASP.NET 4.5, C#, 면도기 및 IIS Express 개발 중입니다.작업에 대한 경로 매핑을 사용할 때 매개 변수 값을 잃어 버리십니까?

routes.MapRoute(
"Item_Delete", 
"Item/Delete/{id}/{a}/{b}/{c}", 
new { controller = "Item", action = "Delete"} 
); 

내가 작업 방법이 있습니다 :

public ActionResult Delete(int id, int a = 0, int b= 0, int c = 0) 

내가 경로 매핑을 주석 때 내가 가진 :

http://myserver/Item/Delete/1301?a=8&b=1&c=0 

위의 쿼리 문자열 반환

나는 경로를 a, b 및 c의 값은 정확하게

입니다. 라우팅이 활성화 된 경우
id=1301, a=8, b=1, c=0 

그러나, 나는 URL을 변환 얻을 :

http://myserver/Item/Delete/1301/8/1/0 

하지만 정말 날 혼란 작업 방법에

id=1301, a=0, b=0, c=0 

를 얻을.

아마도 내 경로를 잘못 설정 했습니까? URL을 올바르게 형식화하면 발사되는 것처럼 보입니다. Action 메서드는 올바른 매개 변수 값을 추출 할 수없는 것 같습니다.

도움 주셔서 감사합니다. 내가 볼 수

routes.MapRoute("Suppliers", "{controller}/{action}/{id}/{d}/{e}/{f}", new { id = UrlParameter.Optional }, new string[] { "MyApp.MVC3.ED.Controllers" }); 

유일한 유사점은 다음과 같습니다 :

A) 일반 {문제의

EDIT1

원인은 이전 파일의 다른 경로 매핑의 간섭에 기인 제어 장치}.

B 다른 이름 있지만) 일반 {동작}

c) 동일 {ID} 파라미터 태그

d) paramers 즉 (d}, {E}, {F} 같은 수. 그래서 방해하지 않겠습니까?

지금은 내 솔루션은 위의 하나 전에 경로를 넣어하는 것입니다,하지만 난 이해하는 사랑 왜 모든 너무 많이 내 편안함을위한 "마술"과 같은 위의 방해합니다.!

EDIT2

#

더 많은 연구에 따르면 컨트롤러에 {controller}/{action} 유형의 patsh가 너무 일찍 발생하면 매개 변수에 관계없이 MVC가 {controller}에서 일치하는 것처럼 혼란을 야기 할 수 있습니다. 그래서 내 솔루션은 내 모든보다 구체적인 경로에 대해 다음 형식을 사용했다 :

MyController/MyAction/{id}..., new{controller="MyController","MyAction"} 

조금 긴 호흡 보인다, 그러나 이것은 내 경로를 쓸 수있는 유일한 예측 방법을 보인다.

답변

1

시도해 볼 수 있습니까?이 방법

routes.MapLocalizedRoute("ItemDel", "s/{id}/{a}/{b}/{c}", 
new { controller = "Item", action = "Delete", a = UrlParameter.Optional,b=UrlParameter.Optional,c=UrlParameter.Optional }, 
    new { id = @"\d+", a = @"\d+", b = @"\d+", c = @"\d+" }, 
    new[] { "Nop.Web.Controllers" }); 

이이

return RedirectToRoute("ItemDel", new 
       { 
        id =1301, 
        a=8, 
        b= 1, 
        c=0 
       }); 
+0

감사처럼 컨트롤러에서 호출에

쓰기 경로. 선택 사항이 아니라면 "a = UrlParameter.Optional, b = UrlParameter.Optional, c = UrlParameter.Optional"이 필요합니까? 또한 doee @ "\ d +"는 값 = 0-9에 대한 정규식 유효성 검사기를 의미합니까? – SamJolly

관련 문제