ASP.NET MVC v3에서 역행 처리를 수행하는 방법이 있습니까?ASP.NET MVC 대체 라우팅
"www.mysite.com/faq/Index"라는 URL이 주어지면 "FAQ", "Index"액션에 대한 경로가 있는지 확인하고 싶습니다.
routes.MapRoute("Default","{controller}/{action}/{id}",
new { id = UrlParameter.Optional });
해결할 수없는 경우 일반적으로 404 오류가 발생합니다. 대신,이 경로를 사용하도록 싶습니다
routes.MapRoute("Content", "Content/{*contentPath}",
new { controller = "Content", action = "RenderPageByURL" });
을이 실패 할 경우, 그것은 반환해야 404
나는 사용자 지정 오류 처리기를 만들 수 있습니다 생각하고 있었다, 그러나 이것은 미봉책 보인다. 어디에서 시작해야하는지에 대한 아이디어가 있습니까? 아니면 진정으로 나쁜 생각입니까? (TM) 비즈니스로 돌아가서 올바른 길을 사용하도록 알려야합니다. 감사.
을 수정하십시오. 명확하게하기 위해, 나는 그것이 단순한 URL 일치를 통한 경로와 일치 하는지를 보려고하지 않고있다. 나는 경로가 성공하고 적절한 컨트롤러를 찾을 지 알기에 라우팅 메커니즘을 충분히 지적하고 싶습니다.
그렇다면 www.mysite.com/faq/Index에 FaqController가 없으면 ContentController로 이동하겠습니까? 나는 그것이 404 오류를 던질 것이라고 생각했다. – bryanjonker
라우팅 작동 방법 수신 요청이 실패한 경우 들어오는 요청이 첫 번째 경로와 일치하면 끝까지 두 번째 요청과 일치합니다. 위의 예에서 두 경로가 요청과 일치하지 않으면 404가 발생합니다. – VJAI
테스트 프로젝트에서 시도했습니다. 기본 경로가 자동으로/content/faq 경로를 점유하고 404 오류가 발생했습니다. 그것은 두 번째 길을 찾지 못했습니다. – bryanjonker