2009-11-24 243 views
0

我有一個asp頁面,我有一個按鈕。當我點擊按鈕,我應該顯示一個gif圖像。當過程完成時,再次圖像必須隱藏。如何顯示/隱藏gif圖像,當按鈕點擊在asp.net

請找我的身後

<head runat="server"> 
    <title>Untitled Page</title> 

    <script type="text/javascript" language="javascript"> 

    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
     <div style="display: none" id="dvloader"> 
      <img src="Images/process_status.gif" /></div> 
     <asp:Button ID="btnLoad" runat="server" Text="Load" OnClick="btnLoad_Click" /> 
    </form> 
</body> 

下面的代碼,請找到下面的代碼背後

protected void btnLoad_Click(object sender, EventArgs e) 
    { 
     // Show the gif image 
     System.Threading.Thread.Sleep(5000); 
     // hide the gif image 
    } 

我怎樣才能實現這一目標?

謝謝。

+0

你需要一些類似東西的進度條嗎? – 2009-11-24 10:35:17

回答

3

您示例中的方法是服務器端的。你想要做的是在客戶端,因此必須在JavaScript中完成。

您可以使用客戶端的onclick事件來顯示點擊按鈕後的GIF。您可以somwhere在頁面加載方法,例如設置客戶端片面的onclick事件:

btnLoad.Attributes.Add("onclick", "alert('JavaScript to show GIF goes here...');"); 

回傳後,GIF將再次自動隱藏...

+0

其工作但gif圖像不在運動中,會有什麼問題? – Jebli 2009-11-24 11:11:46

+0

嗯,這必須是一個瀏覽器相關的問題。如果我沒有記錯,只要頁面請求開始,IE會停止動畫GIF。實際上,這個問題正是關於這個問題的:http://stackoverflow.com/questions/1540079/animated-gif-does-not-animate-on-page-load-in-ie。 我覺得這個問題無法解決。你有與其他瀏覽器相同的效果嗎? – Vinz 2009-11-24 12:29:44

0

其實你可以應用事件添加到元素而不使用內聯事件處理程序。

使用jQuery你可以說:

$(document).ready(function() { 

$('#btnLoad').click(function(){alert('JavaScript to show GIF goes here...');}); 


}); 

這是假設你的按鈕有btnload的ID。

+0

但圖像不移動。它像一個靜態圖像。但在設計模式下它的移動 – Jebli 2009-11-24 12:15:13

相關問題