2012-01-02 5 views

답변

4

거의 모든 브라우저에서 새 창을 열려면 사용자 클릭 이벤트에서 호출해야합니다. 거의 모든 브라우저 (이 경우 약 99 %의 사례를 다루고 있음)는 페이지로드 이벤트에서 호출되는 팝업을 차단하므로 새로운 창에서 열리는 링크를 표시하여 솔루션을 다시 생각해 보시기 바랍니다.

클릭 이벤트에서 새 창을 열면 처리 페이지가 열리고 원하는 페이지로 리디렉션됩니다. 기본적으로 먼저 click 이벤트로 팝업을 연 다음 새 페이지에서 리디렉션을 수행하십시오.

+0

예. target = "_ blank"태그를 사용하면 매우 간단하게 사용할 수 있습니다. 또는 AJAX를 사용하여 부분 페이지 업데이트를 수행하십시오. +1 –

3

Response.Write을 사용하여 수행 할 수 없습니다. 요청이 서버로 보내 자마자 요청한 페이지가 열리는 위치가 이미 결정됩니다. 따라서 서버 코드가 실행될 때 페이지가 열리는 위치를 변경하기에는 이미 너무 늦었습니다.

새 창에서 페이지를 열려면 해당 요청을 서버에 보내기 전에 완료해야합니다. 다시 게시하는 대신 _blank과 함께 요청을 보내야합니다. 당신은 그것을 위해 링크를 사용할 수 있습니다

<a href="Page.aspx" target="_blank">...</a> 

당신은 자바 스크립트의 window.open 방법을 사용할 수 있습니다 :

window.open('Page.aspx', '_blank'); 
+0

나는 이것을 시도했지만 서버 측에서 C# 코드를 실행하고 새 창을 열어야한다. –

+0

@FaheemShehzad : 글쎄, 그건 정말 무의미하지만'ScriptManager.RegisterStartupScript'를 사용하여' window.open' 다시 게시하십시오. – Guffa