thread.sleep无法正常工作

时间:2013-02-06 13:39:45

标签: c# asp.net

我的目的:创建图像按钮一旦被点击,消费者应该等待4秒,而他正在等待网页顶部的图像应该自动更改。 到目前为止我尝试了什么:

protected void Page_Load(object sender, EventArgs e)
{          
}

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
    int counter = 0;
    while (counter < 4)
    {
        counter++;
        Image2.ImageUrl = "../images/" + counter + ".jpg";
        System.Threading.Thread.Sleep(1000);
    }

    Response.Redirect("../Home.aspx");
}

我没有像前面提到的那样产生同样的后果。任何人都有解决问题或新想法的解决方案? thnx提前

2 个答案:

答案 0 :(得分:1)

您的代码使Web应用程序休眠4秒,有效延迟服务页面4秒钟。该页面仅在ImageButton1_Click方法完成后提供。

您应该使用Javascript来完成您的目的。

答案 1 :(得分:1)

您的代码存在问题:

  1. 您正在更改服务器端的Image Url。在将所有数据提供给客户端之前,这不会显示在客户端中。
  2. 四秒延迟发生在服务器端。
  3. 您正在重定向到../Home.aspx。这将“破坏”你刚才所做的网址更改。
  4. 解决这些问题:

    • 使用Javascript / JQuery延迟4秒并更改客户端的图像网址。