현재 IIS6에서 실행 중이지만 곧 IIS 7로 전환하려고합니다.쿼리 문자열 ID를 컨트롤러 동작으로 전달하는 ASP.Net MVC 레거시 URL 라우팅
우리는 기존 웹 양식 사이트를 ASP.Net MVC로 이전하고 있습니다. 새 컨트롤러로 리디렉션해야하는 레거시 페이지가 많이 있습니다. 흥미로운이 기사를 보았습니다. http://blog.eworldui.net/post/2008/04/ASPNET-MVC---Legacy-Url-Routing.aspx
그래서 내 자신의 경로 처리기를 작성하거나 컨트롤러에서 리디렉션 할 수 있다고 생각합니다. 후자는 약간 냄새가 난다.
그러나 컨트롤러의 Show() 메서드에 전달해야하는 레거시 URL에서 쿼리 문자열 값을 처리하는 방법을 잘 모르겠습니다.
기존 URL : 예를 들어
/ArtistsController :
/Artists/ViewArtist.aspx?Id=4589
나는이에 매핑 할 액션 표시
사실 내보기 작업은 아티스트 이름을 사용, 그래서 사용자가/예술가로 기존 URL에서 리디렉션하고 싶어 마돈나
감사합니다!
이 1 - 당신의 여기 (이 작가의 ID입니다이 경우) 를 쿼리 문자열에서 경로 값을 추출해야합니다 LegacyHandler가있다:
안녕하세요. 고맙습니다. FYI, 새로운 스타일의 URL 301에 redirec을 할 수 있도록 : 아티스트/ ID와 대조적으로 301을 통해 링크를 새 형식으로 리디렉션 한 RedirectLink라는 새로운 ActionResult를 만들었습니다. 감사합니다. –
Perhentian