C# 实现实时3秒跳转页

   

  protected   void  Binddata()
ExpandedBlockStart.gifContractedBlock.gif    
{

        
// this.mytext.InnerHtml="三秒后页面跳转<div id=\"aa\"></div>";//也可以在页面固定一个DIV区域来显示该信息
        Response.Write("三秒后页面跳转<div id=\"aa\"></div>");//先生成一个用来显示时间倒计时的DIV

        StringBuilder sb 
= new StringBuilder();//注意添加using引用 System.Text
        sb.Append("<script langage=\"javascript\">"); //用\"转义'

        sb.Append(
"var i=4;");

        sb.Append(
"function out()");

        sb.Append(
"{");

        sb.Append(
"if(i>0){ ");

        sb.Append(
"i--;}");

        sb.Append(
"else {");

        sb.Append(
"location.href=\"login.aspx\";}");//这里的login.aspx可以随便改成你想转换的页面


        sb.Append(
"document.getElementById(\"aa\").innerHTML=i; }");

        sb.Append(
"setInterval(\"out()\",1000); "); //每隔一秒发生

        sb.Append(
"</script>");

        
this.Page.Controls.Add(new LiteralControl(sb.ToString()));

    }

 

 需要再通用一点的话,把方法参数提出来后如下,各页面调用也方便很多

 

     public   static   void  SuccessReturnScript(System.Web.UI.Page page, string  writeControlID, string  returnUrl)
        {
            StringBuilder sb 
=   new  StringBuilder();
            sb.Append(
" <script langage=\ " javascript\ " > " );  // 用\"转义'

            sb.Append(
" var i=4; " );

            sb.Append(
" function out() " );

            sb.Append(
" { " );

            sb.Append(
" if(i>1){  " );

            sb.Append(
" i--;} " );

            sb.Append(
" else { " );

            sb.Append(
" location.href=\ ""  + returnUrl +  " \ " ;} " );
            sb.Append(
" document.getElementById(\ ""  + writeControlID +  " \ " ).innerHTML=\ " 操作成功,页面 < font color = red > \ " +i+\ " </ font > 秒后自动跳转\ " ; } " );

            sb.Append(
" setInterval(\ " out ()\ " ,1000);  " );  // 每隔一秒发生

            sb.Append(
" </script> " );

            page.Controls.Add(
new  LiteralControl(sb.ToString()));
        }

 

另外加一个倒计时显示的js代码

为了优化,day只计算了一次。hour,minitus,second,ms则放在里层反复计算

<script type="text/javascript">

 var day=hour=minitus=second=ms=0;
 var targetDate= new Date("2010/08/07 12:00:00");
 var tmp = targetDate - new Date();
 day = Math.floor(tmp / 86400000);
function RefreshTime()
 {
  tmp = (targetDate - new Date()) % 86400000;
  hour=Math.floor(tmp/3600000);
  tmp%=3600000;
  minitus=Math.floor(tmp/60000);
  tmp%=60000;
  second=Math.floor(tmp/1000);
//  ms=tmp-1000*second;
  document.getElementById("m1").innerHTML = "距离" + targetDate + "年还有 " + day + " 天 " + hour + " 小时 " + minitus + " 分 " + second + " 秒 ";
}
setInterval(RefreshTime, 1000);
</script>

 

 


转载于:https://www.cnblogs.com/micheng11/archive/2009/03/12/1409390.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值