2013-02-06 63 views
0

我的目的:創建一個imagebutton,一旦點擊消費者應該等待4秒,而他正在等待網頁頂部的圖像應該自動改變。 我試了一下,到目前爲止:thread.sleep無法正常工作

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

我會使用javascript/jquery這些視覺技巧。您不能簡單地更改代碼中的變量,並期望網站自動更改圖像。 – Dennisch

+0

這似乎應該工作。你可以在ImageButton1_Click中放置一個斷點並逐步完成它?怎麼了? – sircodesalot

+2

您需要更好地瞭解請求/響應模型。 Sleep()完美地工作,但只有服務器端。 –

回答

1

您的代碼使Web應用程序睡眠4秒,有效延遲服務頁面4秒。該頁面僅在ImageButton1_Click方法完成後才能提供。

您應該使用Javascript來完成您的目的。

1

與您的代碼的問題是:

  1. 你改變在服務器端的圖像URL。這將不會顯示在客戶端,直到所有的數據被提供給客戶端。
  2. 四秒延遲發生在服務器端。
  3. 您正在重定向到../Home.aspx。這將「破壞」你剛剛做出的網址更改。

爲了解決這些問題:

  • 使用JavaScript/jQuery來延遲4秒,並改變在客戶端上的圖像的URL。