2011-01-27 58 views
0

我有一個網頁,加載數據到一個gridview和刷新gridview每隔幾秒鐘。我通過一個每隔幾秒運行一次C#函數的asp:Timer來執行此操作,以重新查詢數據庫並綁定gridview。ASP.net禁用刷新時,下拉列表打開

我也有幾個下拉列表來篩選gridview中的數據。這些下拉列表從網格視圖獲取來自相同數據集的數據(例如,如果網格視圖顯示從樹中拔出的所有蘋果的統計數據,則該列表可能包含例如所有不同的蘋果類型)。我如何刷新這些下拉列表又是重新查詢數據集並將所選索引重置爲在刷新時選擇的一個索引。因此,當下拉列表打開時,定時器啓動時會出現問題 - 選擇下拉列表中的索引並刷新gridview,下拉列表也會刷新當前選定的索引並關閉。

所以,我有如何禁用我的計時器刷新脫落,而下拉列表是活動的問題 - 或者我可以怎麼做更好?

編輯:忘了提,我使用AJAX /的UpdatePanel的刷新

回答

2

你需要做的第一件事就是定義一些事件來捕獲時的下拉是開放的。我不認爲有一個,但你可以使用焦點()事件...也許。

然後當下拉列表打開時,您需要禁用定時器客戶端。本文介紹了它(雖然使用複選框)

http://weblogs.asp.net/aboschin/archive/2007/10/06/ajax-how-to-control-an-lt-asp-timer-gt-on-client-side.aspx

+0

看到這篇文章可以解釋你當用戶在某些輸入打字如何控制從客戶端(JS)定時器(你的情況是類似的,除非你有下拉式菜單):http://mattberseth.com/blog/2008/05/bug_bash_enablingdisabling_the.html – VinayC 2011-01-27 04:39:27