2014-02-07 2 views
1

저는 은행 거래 페이지를 개발 중입니다. Page_load() 부분에서 은행에서 토큰을 요청한 다음 내 페이지가 사용자 지불을 위해 은행으로 리디렉션합니다.다른 페이지로 리디렉션하기 전에 로딩 표시

내 페이지가로드되면 현재 애니메이션 GIF가 표시되기 전에 은행 페이지로 리디렉션되어 사용자에게 은행 페이지로 리디렉션 중임을 알리는 것이 문제입니다.

페이지 페이지 수명주기 중 어느 부분에서 현재 HTML 페이지가 완전히로드되고 은행 페이지로 리디렉션되기 전에 사용자에게 표시되도록 요청해야합니까?

protected void Page_Load(object sender, EventArgs e) 
{ 
    Response.Redirect("bank.aspx?au=" + authority); 
} 

이미 Page_PreInit, OnInit, Page_InitComplete 및 OnPreRender를 테스트했습니다.

답변

2

할 수 있습니다 이러한 목적을 위해 사용자의 자바 스크립트 :

function redirect() { 
     document.getElementById("message").style.display = "block"; 
     setTimeout(function() { 
      location.href = 'Default.aspx' 
     }, 2000); 
    } 

HTML :

<div id="message" style="background:red;padding:10px;color:White;display:none;width:100px"> 
Redirecting.... 
</div> 
<input type="button" id="btn" onclick="redirect();" value="Click to redirect"/> 

DOME : http://jsfiddle.net/rDEw3/ 당신의 senario이 같이 호출 할 수 있습니다에서

;

protected void Page_Load(object sender, EventArgs e) 
{ 
    ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "redirect", "redirect();", true); 

} 
+2

나는 Irfan의 대답에 동의하지만 사용자를 즉시 ​​버퍼 페이지로 리디렉션하고 ** 해당 ** 페이지에 javascript 스크립트를 배치하는 것이 좋습니다. 페이지를 다시로드하지 않으려면 버퍼 페이지를 사용하는 것이 좋습니다. 페이지가 "거래가 처리되는 동안 기다려주세요."라고 말하십시오. 몇 초 후에 javascript가 사용자를 리디렉션하도록하십시오. – Lopsided

+0

도움이 될만한 다른 해결책이 있습니까? –