2012-01-06 45 views
3

用户单击注销按钮后,我将它带到一个重定向页面,该页面显示一条消息,并说“在秒内注销并重定向”。我正在使用asp.net重定向页面上的倒计时标签

Response.AddHeader("REFRESH", "3;URL=Login.aspx"); 

有没有办法显示剩余的秒数,直到它们被重定向到标签中?

+0

当单击注销按钮时,您可以简单地在javascript中启动一个定时事件,递减某些变量并将其显示在任何位置。 – 2012-01-06 14:19:38

回答

0

您需要使用客户端技术,即, JavaScript的。使用服务器端将需要调用服务器,而不需要这样简单的事情。

0

由于您使用的是Microsoft aspx,您可以创建在客户端的标签,并提出您的代码隐藏标签标识实施AJAX并改变剩余时间的价值基础。

0

对我的评论之后,你可以通过下面的代码实现您的解决方案:

<script type="text/javascript"> 
    var timeLeft = 3; 
    function decrementCounter() { 
     if (timeLeft > 0) { 
      document.all('countDown').innerHTML = "Redirecting in " + timeLeft + "..."; 
      timeLeft--; 
      setTimeout("decrementCounter()", 1000); 
     } 
     else { 
      window.location = "http://www.google.com/" 
     } 
    } 
</script> 

<body> 
    <form> 
    <label id="countDown">3</label> 
     <input type="button" value="Display alert box in 3 seconds" onclick="decrementCounter()" /> 
    </form> 
</body> 
1

例如,

当你点击退出按钮,您可以创建动态的一个倒计时的JavaScript

protected void OnLogout(object sender, EventArgs e) 
    { 
     string url = "~/Login.aspx"; 
     string msg = "Logging out and Redirecting in ? "; 
     StringBuilder js = new StringBuilder("<script language=\"javascript\">") 
       .Append("var ts = 3; setInterval(\"redirect()\",1000);") 
       .Append("function redirect(){ if(ts == 0){") 
       .Append("window.location.href=\"" + url + "\"; }else{") 
       .Append("document.body.innerHTML = \"msg \" + (ts--)+\"seconds\";}}") 
       .Append("</script>"); 
     Response.Write(js.ToString()); 
    }