2016-12-29 2 views
0

aspx 페이지에서 버튼을 누르고 코드 숨김 (cs)에서 현재 페이지를 다른 링크로 리디렉션하고 새 링크로 새 탭을 열려고합니다. C# 새 탭으로 리디렉션하고 현재 페이지를 리디렉션

는 내가하려고 노력 :

Response.Write("window.open('"+newPath+"','_blank')"); 
    Response.Redirect("~/book_details.aspx); 

하지만 newpath를 가진 내가 ~/book_details.aspx 만 리디렉션 할 때마다 (두 번째 리디렉션)과 새로운 탭이 열리지 않습니다.

누구나 올바르게 구현하는 방법을 알고 있습니까?

감사합니다. 당신이 Response.Writejavascript 메소드를 호출하는 경우는, 아래와 같이해야

답변

0

내에서 주소를 호출 <script></script>를 추가해야합니다. Response.Redirect은 다른 출력이 작성되지 않았을 때 가장 잘 작동하며 이 작동하면 (브라우저에 따라 다를 수 있음) 브라우저가 새 페이지를 즉시로드하기 때문에 Response.Write의 결과가 거의 또는 전혀 영향을 미치지 않을 수 있습니다.

최고는 자바 스크립트에서 두 가지 작업을 수행하는 것입니다. 그리고 그것에 대해서도 <script> 태그가 필요합니다. 이처럼

:

var redirectUrl = VirtualPathUtility.ToAbsolute("~/book_details.aspx"); 

var js = "window.open('" + newPath + "','_blank');" 
     + "location.replace('" + redirectUrl + "');"; 

Response.Write("<script type='text/javascript'>" + js + "</script>"); 
1

인사 당신은 또한 그것은 함께 Response.WriteResponse.Redirect를 사용하지 않는 것이 더 좋습니다 Response.Write

Response.Write("<script>window.open('~/book_details.aspx','_blank'</script>"); 
관련 문제