setTimeout的失效问题,无论时间设成多大,都是直接跳转
最近碰到一个问题,就是发现js函数的超时设定失效,比如我下面这段代码
1protected void Page_Load(object sender, EventArgs e)
2 {
3 if (!IsPostBack)
4 {
5 string target = Request.QueryString["target"];
6 string info = Request.QueryString["info"];
7 if (target != null && info != null)
8 {
9 lbInfo.Text = info;
10 hlRedirect.NavigateUrl =target;
11 ClientScript.RegisterClientScriptBlock(this.GetType(), "startup",
"<script language='javascript'>setTimeout(window.location.href='" + target + "',2000)</script>");
12 }
13 }
14 }
2 {
3 if (!IsPostBack)
4 {
5 string target = Request.QueryString["target"];
6 string info = Request.QueryString["info"];
7 if (target != null && info != null)
8 {
9 lbInfo.Text = info;
10 hlRedirect.NavigateUrl =target;
11 ClientScript.RegisterClientScriptBlock(this.GetType(), "startup",
"<script language='javascript'>setTimeout(window.location.href='" + target + "',2000)</script>");
12 }
13 }
14 }
本来我是想在做一个像论坛登录一样,登录成功后会显示“登录成功,稍后转入论坛页……”的简单页面,靠接收Url参数来显示提示内容,和要转入的页面。但程序执行的时候,根本就没有等待,直接就转过去了。后面设那个超时数字无论多大都没有用,我查了相关资料,把超时时间用单引号引起来也没有用。一直很郁闷,不知哪位大哥能指点一下,看是哪出错了。
顺便说一下,会不会是我这个项目是asp.net ajax -enabled web site 有关。