C# thread.sleep无法正常工作

C# thread.sleep无法正常工作,c#,asp.net,C#,Asp.net,我的目的:创建一个imagebutton一旦点击,消费者应该等待4秒钟,而他正在等待网页顶部的图像应该自动更改。 到目前为止,我尝试的是: protected void Page_Load(object sender, EventArgs e) { } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { int counter = 0; while (counte

我的目的:创建一个imagebutton一旦点击,消费者应该等待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");
}
受保护的无效页面加载(对象发送方,事件参数e)
{          
}
受保护的无效ImageButton1\u单击(对象发送者,ImageClickEventArgs e)
{
int计数器=0;
while(计数器<4)
{
计数器++;
Image2.ImageUrl=“../images/”+计数器+“.jpg”;
系统线程线程睡眠(1000);
}
Response.Redirect(“../Home.aspx”);
}

我没有像前面提到的那样得到同样的结果。有人有解决问题的方法或新想法吗?thnx-advanced

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


您应该使用Javascript来实现您的目标。

代码中的问题:

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

    • 使用Javascript/JQuery延迟4秒,并在客户端更改图像url

    我会使用javascript/jquery来实现这些视觉技巧。您不能简单地更改代码中的变量,然后期望网站自动更改图像。这似乎应该是可行的。你能在ImageButton1中设置一个断点吗?单击并单步执行?发生了什么?您需要更好地理解请求/响应模型。Sleep()工作得很好,但只在服务器端。是的,你们是对的,我知道了。稍后我将尝试编写javascript代码