if(Session["UserName"]==null)
{
Response.Write("<script language=javascript>alert('你没有登录!无法购买请登录!')</script>");
Response.Redirect("Logon.aspx");
}
我想让下面的5秒后执行Response.Redirect("Logon.aspx"); 跳转!中间该如何写延时代码呢?
===================
麻烦您按照我的这个加上 延时代码!谢谢!我新手 。
这是我以前搞的一个跳转的页面中的代码,你可以研究一下
<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");
不应该这样写的
System.Threading.Thread.Sleep(5000);
不知道你这个是做什么用?? 需要延迟5秒之多?
让客户端跳转吧,使用setTimeout方法就行
这样吧。应该可以~
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生成再一起发。