asp.net重定向页面上的倒计时标签
本文关键字:倒计时 标签 net 重定向 asp | 更新日期: 2023-09-27 18:19:33
用户单击注销按钮后,我会将其带到重定向页面,该页面会显示一条消息,并显示"在?秒内注销并重定向"。我正在使用
Response.AddHeader("REFRESH", "3;URL=Login.aspx");
有没有一种方法可以显示在标签中重定向之前还有多少秒?
在重定向页面中,您需要使用JavaScript来处理它。
此示例可能有助于您:http://javascriptsource.com/navigation/countdown-redirect.html
根据我的评论,您可以通过以下代码完成您的解决方案:
<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>
例如,
当您单击注销按钮时,您可以通过动态创建倒计时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());
}
您需要使用客户端技术,即JavaScript。使用服务器端将需要对服务器进行调用,而这对于像这样简单的事情来说是不需要的。
因为您使用的是Microsoft aspx
,所以您可以在客户端创建一个标签,并通过在标签的Id后面提供代码来实现AJAX
,并根据剩余时间更改其值。