首页新闻找找看学习计划

延时跳转的延时小代码???

0
悬赏园豆:10 [已解决问题] 解决于 2008-12-22 20:29

 if(Session["UserName"]==null)
        {
            Response.Write("<script language=javascript>alert('你没有登录!无法购买请登录!')</script>");
            Response.Redirect("Logon.aspx");
        }

我想让下面的5秒后执行Response.Redirect("Logon.aspx"); 跳转!中间该如何写延时代码呢?

===================

麻烦您按照我的这个加上   延时代码!谢谢!我新手 。

问题补充: if(Session["UserName"]==null) { Response.Write("<script language=javascript></script>"); Response.Redirect("1111.aspx"); } 然后在1111.aspx中如何写一段代码: 让1111.aspx中 Response.Write("<font color=red size=24>您执行了非法操作!请返回登录页面!</font>");执行! 然后再跳转到 logo.aspx中! =========================== 一楼的回答我试了,延时跳转是实现了,可是我的对用户的错误提示却 显示不出来 了! ================================================= 得到最满意的答案: Response.Write("<font color=red size=24>您执行了非法操作!请返回登录页面!</font><script type='text/javascript'>setTimeout(\"window.location='login.aspx'\",5000)</script>");
Jinzhi的主页 Jinzhi | 菜鸟二级 | 园豆:240
提问于:2008-12-22 11:55
< >
分享
最佳答案
0

这是我以前搞的一个跳转的页面中的代码,你可以研究一下

<asp:Content ID="ct" ContentPlaceHolderID="_main" runat="server">
    <br />
    <br />
    <br />
    <br />
    <br />
    <div align="center">操作执行成功,<span id="time_second" style="FONT-WEIGHT: bold; COLOR: red; FONT-STYLE: italic"></span>秒钟后页面自动跳转!</div>
    <br />
    <div align="center">
        <input id="btnGoURL" type="button" value="继续" onclick="EndPageLoad();" class="button1" /></div>
    <script type="text/JavaScript">
    <!--
          var iIntervalId;
          var totalSecond =5;
          var strURL ="<%=strGoURL %>";
          time_second.innerText =totalSecond;
          BeginPageLoad();
          function BeginPageLoad()
          {
           iIntervalId=window.setInterval("PageProcess()",1000);
          }
          function PageProcess()
          {
              if (totalSecond > 0)
              {
                  totalSecond -=1;
                  time_second.innerText =totalSecond;
              }
              else
              {
                  EndPageLoad();
              }
          }
          function EndPageLoad()
          {
              window.clearInterval(iIntervalId);
              window.location=strURL;
          }
    //--> 
    </script>
</asp:Content>

 

你的:

Response.Write("<script language=javascript></script>");
Response.Redirect("Logon.aspx");

不应该这样写的

GUO Xingwang | 老鸟四级 |园豆:3885 | 2008-12-22 13:00
其他回答(3)
0

System.Threading.Thread.Sleep(5000);

不知道你这个是做什么用?? 需要延迟5秒之多?

Allie | 园豆:707 (小虾三级) | 2008-12-22 12:04
0

让客户端跳转吧,使用setTimeout方法就行

Gray Zhang | 园豆:17610 (专家六级) | 2008-12-22 12:12
0

这样吧。应该可以~

Response.Write("<script language=javascript>function goToUrl(){window.location='Logon.aspx'}window.setInterval("goToUrl()",5000);</script>");
//Response.Redirect("Logon.aspx");

你的想法肯定是想先write一个javascript或HTML到客户端去执行。过几秒钟又write另一部分javascript或HTML。。。

一个Response不能先发一半,另一半等一下发。asp.net会等整个Response生成再一起发。

BB_Coder | 园豆:895 (小虾三级) | 2008-12-22 15:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册