2012-11-29 3 views
0

사이트의 폴더에 페이지가 있고 도메인 루트에서 Server.Transfer이 필요합니다. 나는 포함하는 뿌리에 페이지를 추가하는 것을 시도했다 :독립 실행 형 페이지에서 Server.Transfer하는 방법?

Server.Transfer("~/folder1/default.aspx"); 

나는 500의 오류를 얻는다. 나는 또한 시도했다

Server.Transfer("/folder1/default.aspx"); 

같은 결과를 얻었다. 그러나 루트에서 다른 페이지 Server.Transfer("default2.aspx");을 시도해 보았습니다.

그래서 어떻게 전송할 페이지로 전송합니까?

EDIT : folder1은 웹 응용 프로그램 (Asp.net)입니다. 중요합니까?

답변

1

예 - folder1은 별도의 응용 프로그램이므로 중요합니다.

Server.Transfer는 대상 페이지를 직접 인스턴스화하고 호출 된 곳에서 응답을 되돌려 보내기 때문에 자신의 ASP.NET 응용 프로그램 내의 전송에만 사용됩니다. 응용 프로그램에서이 작업을 수행 할 방법이 없습니다.

간단하게 Response.Redirect을 /folder1/default.aspx 페이지로 전송하는 대신에 수행하는 것이 좋습니다.

편집 : 당신의 Default.aspx를 (루트)의를 Page_Load에서

Response.Redirect("/folder1/Default.aspx"); 
+0

감사를 추가합니다. 불행히도, 그 사용자에 대한 지연이 있습니다. 내 다른 질문보기 http://stackoverflow.com/questions/13630820/what-is-the-correct-way-for-redirecting-from-the-domain-name-itself-to-a-page-in – ispiro

+0

IIS 리디렉션이 다릅니다. 'Response.Redirect'는 루트의 Default.aspx 코드 숨김에서 보낼 것입니다. 따라서 루트의 Default.aspx의 Page_Load 이벤트에서 Response.Redirect를 수행하십시오. – Mendhak

+0

감사합니다. 나는 그것을 몰랐다. – ispiro