2010-05-07 2 views

답변

4

페이지가 iframe 안에있을 때 Response.Redirect은 iframe에있는 페이지가 부모 페이지가 아닌 동일한 페이지로만 리디렉션됩니다. 한 가지 해결 방법은 부모 창에 "말"할 수있는 자바 스크립트 호출을 등록하는 것입니다. 리디렉션 할 수 있습니다.

예를 들어, 당신은 할 수 있습니다 :

ClientScript.RegisterStartupScript(this.GetType(), "scriptid", 
      "window.parent.location.href='redirectpage.aspx'", true); 

코드 뒤에 새 위치로 부모 윈도우를 리디렉션.

리디렉션 할 모든 자바 스크립트 코드에서이 스크립트를 호출하는 것과 같은 방식으로 맨 위 창으로 말할 수 있습니다.

top.location.href = "redirect.aspx" ; 

참조 : asp.net forum,
How to prevent IFRAME from redirecting top-level window

+0

은 "scriptid는"무엇을 상징 하는가? 이것이 우리가보고있는 주어진 ClientScript 프로세스의 이름일까요? 또는 그 이름이 다른 곳에서 참조 되는가? 나는 이것이 .cs 파일 내에서 조건문으로 들어가는 것을 가정하고있다. 그런데 그 해결책에 감사드립니다! – blackhawk

+1

@blachawk scriptid는 스크립트와 함께 사용되는 임의의 이름입니다. ClientScript가 이름을 확인하고 동일한 ID를 두 번 이상 추가하지 않도록합니다. – Aristos

-1

Asp.net에서 바로 사용

 Response.Redirect("webpagename.aspx"); 
+1

질문을 읽지 않은 것 같습니다. 그러면 전체 페이지가 아닌 해당 프레임 * 만 리디렉션됩니다. –

관련 문제