2010-07-22 3 views
1

나는 1.0 내 actionlinks쿼리 문자열 문제

2.0의 asp.net MVC에서 전환 한

addbla/?Id=5008 

이는 라우팅 할 필요가 않습니다

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
      routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); 

      routes.MapRoute(
       "Default",            // Route name 
       "{controller}/{action}/{id}",       // URL with parameters 
       new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
      ); 

가 어떻게 이전 동작을 복원 할 수 있습니다?

감사합니다.

기독교

+0

에서 현재 솔루션의 삽입을 id를 제거하기 이전 동작을 복원 할 수 있습니다 경로를. MapRoute (null, "{컨트롤러}/{액션}", 새 {컨트롤러 = "홈", 액션 = "인덱스"}); 다른 maproute 앞에 . 여전히 컨트롤러가이 addbla/500처럼 url에 대해서도 id에 대해 null을받는 이유를 이해하지 못합니다. – cs0815

답변

0

당신은지도 노선

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}", // URL with parameters 
    new { controller = "Home", action = "Index" } // Parameter defaults 
); 
+0

을 업데이트합니다. 나는 아직도 내 컨트롤러에서 ID가 null 인 url bla/33이 나오는 이유를 이해하지 못합니다. – cs0815

+0

귀하의 의견을 보지 못했지만, 제 생각은 MapRoute를 이전에 삽입하는 대신 교체하는 것이 었습니다. MapRoute을 대체하면, bla/33은 컨트롤러 bla 및 액션 33이 없으므로 작동하지 않습니다. bla에서만 작동합니까? Id = 33 다른 MapRoute보다 먼저 MapRoute를 삽입하면 내 검사들. – Caline

0

대신 혼합 케이스의 소문자 id를 사용해보십시오. 전환 한 프로젝트에서이 문제를 보지 못했지만, 소문자 id을 일관되게 사용합니다.

+0

실제로 ID에서 대문자 ID로 변경했습니다. 둘 다 작동하지 않습니다. 위의 내 의견을 보았던 질문 – cs0815