레거시 URL 라우팅에 대해 ASP.Net MVC routing legacy URLs passing querystring Ids to controller actions 및 다른 여러 유사한 게시물을 보았습니다. "RouteData에"컨트롤러라는 항목이 있어야합니다. 빈 문자열 값. " 이 문제를 해결하기 위해 내게 어떤 힌트도주지 않았다.쿼리 문자열 매개 변수를 사용하여 레거시 URL 다시 쓰기
routes.Add(
"Legacy",
new LegacyRoute("fooref.aspx",
"FooRef",
new LegacyRouteHandler())
);
routes.MapRoute(
"FooRef",
"{controller}/{action}",
new
{
controller = "Home",
action = "Index",
foo_id = UrlParameter.Optional,
bar_id = UrlParameter.Optional
}
);
나는 필 Haack의 경로 디버거를 사용하는 경우, 그것은 fooref 나타냅니다
나는 위의 링크에 설명 된 기존 라우팅 클래스를 구현했습니다, 이것은 내가 라우팅 테이블에 정의한 것입니다 .aspx가 일치하지만 경로 디버거를 사용 중지하면 위의 오류가 발생합니다. 명령문 순서를 바꾸면 /ctprefer.aspx에 "자원을 찾을 수 없습니다"라는 메시지가 표시됩니다. 따라서 다른 순서로 배치 할 때 유효한 경로로 표시됩니다.
누락 된 컨트롤러 참조는 어디에서 신고해야합니까?
ASP.NET MVC 2 RTM에 대한 라우팅 요구 사항이 변경 되었습니까?
이 여전히 유효한 질문이다하거나 시간이었다 내 블로그에 MVC 3와 함께 작동 코드를 게시? 혹시 해결책을 찾았습니까? – jcolebrand
아니요, 아직 해결책을 찾지 못했습니다. 아마도 MVC 3을 사용하면이 문제를 해결할 수 있습니다. 이것을 잠시 보살펴주지 않았습니다. –