2010-02-25 5 views
1

내가 설정을 사용자 정의 경로가 비애 :MVC 2 RC RedirectToAction 내를 Global.asax에 정의 된

http://localhost/Search/Results/2/RG12%201JD

대신 무슨 일입니다 :

http://localhost/Search/Results?type=1&searchterm=RG12%201JD

0 내가 잘못 뭐하는 거지

, 잘못된 코드는 다음과 같습니다

return RedirectToAction("Results",new {type = "1", searchterm = "RG12%201JD" }); 

어떤 도움을 크게 감상 할 수있다!

감사

조나단

+1

매핑 한 다른 경로는 무엇입니까? 본능은 다른 경로가 그것을 납치하고 있다고 말한다. – pdr

+0

RedirectToRoute가 아닌 RedirectToAction을 사용해야하는 대답을 찾았습니다 !!! – JonathanTien

답변

4

Clanger! 내가 RedirectToRoute를 사용할 필요가 있다는 것을 알았다. !!!! 이렇게하면 문제가 해결됩니다!

return RedirectToRoute("Search", new { controller = "Search", action = "Results", searchterm = strsearchterm, type = inttype }); 
0

MVC 2 RTM (MVC 1에서는 이러한 문제가 없었 음)에서 동일한 동작이 나타났습니다. 두 가지 방법 사이에서 라우팅이 처리되는 방법에 대한 세부 정보의 포인터를 이해할 수 있습니다. 동일한 작업을 수행하기 위해 RouteValueDictionary를 RedirectToAction으로 전달하려했지만 대상 액션 메서드에 대한 사전 컨트롤러 및 액션 키 이상을 채우지 않았습니다.