asp.net重定向页面上的倒计时标签

时间:2012-01-06 14:18:49

标签: c# asp.net html redirect

在用户点击退出按钮后,我将它带到重定向页面,该页面显示一条消息,并显示“在秒内注销并重定向”。我正在使用

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

有没有办法显示在标签中重定向的剩余时间?

5 个答案:

答案 0 :(得分:1)

在您的重定向页面中,您需要使用JavaScript来处理它。

此示例可能会对您有所帮助:http://javascriptsource.com/navigation/countdown-redirect.html

答案 1 :(得分: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());
    }

答案 2 :(得分:0)

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

答案 3 :(得分:0)

由于您使用的是Microsoft aspx,因此您可以在客户端创建标签,并通过为 ID 提供代码来实现AJAX >标签并在剩余时间内更改其值。

答案 4 :(得分: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>