2011-03-23 2 views
1

나는 생각할 수있는 모든 상대 경로를 시도했지만 그 중 아무 것도 작동하지 않습니다.UserControl 내에서 Server.Transfer를 사용하면 파일을 찾을 수없는 예외가 발생합니다.

Server.Transfer("/contact-us.aspx"); 
Server.Transfer("./contact-us.aspx"); 
Server.Transfer("~/contact-us.aspx"); 
Server.Transfer("contact-us.aspx"); 

저는 이것이 제가 ascx UserControl에 있다는 사실과 관련이 있다고 확신합니다. 나는 항상 "파일 (내 파일)이 존재하지 않습니다."

편집 :

는 또한, 접촉 us.aspx는 실제 파일이 아닙니다. 저는 Sitecore를 사용하고 있습니다. 이것은 애플리케이션 내의 가상 경로이며, 애플리케이션은 URL을 해결하는 방법을 알고 있습니다.

답변

1

구문이 정확하므로 SiteCore 엔진의 HTTPHandler/URL 리디렉션에 문제가있을 수 있습니다.

대신 Response.Redirect를 사용하고 오버로드 된 버전을 사용하여 이후의 모든 페이지 처리를 중단하십시오.

Response.Redirect("~/contact-us.aspx", true); 
+0

리디렉션 된 페이지에 쿼리 문자열없이 데이터를 전달해야하므로 Server.Transfer가 사용되었습니다. –

+0

Sitecore의 문제입니다. 해당 포럼별로 Server.Transfer를 사용할 수 없습니다. –

+0

위대한, 적어도 당신은 그것을 분명히했습니다. 모두 제일 좋다. –