2011-03-01 110 views
0

在aspx頁面上,我有一個下拉列表和一個面板控件,下拉列表autopostback爲真。在下拉列表控件中有兩個選項,根據用戶選擇的選項,我顯示一個包含ajax更新面板的用戶控件,該控件包含一個配置爲在每秒鐘後啓動異步請求的計時器。當用戶在下拉列表控件中選擇其他選項並且用戶控件在面板控件中發生更改時會出現問題。其發生如下所示的錯誤:我得到使用UpdatePanel時無法找到ID爲Exception的UpdatePanel

Sys.InvalidOperationException:無法與ID「ctl00_ctl00_cphMainMasterPage_ChildContent_ctrlPinStatusMonitor_updpnlPinStatus」找到的UpdatePanel。如果它正在動態更新,那麼它必須在另一個UpdatePanel中。

我解決的問題是,啓動異步請求的最後一個控件在面板控件中不再可用,並被新的其他用戶控件替換。任何人都可以提出一個解決方案來擺脫這個錯誤。

+0

我不知道,但似乎你的計時器創建問題 – Student 2011-03-01 13:06:21

+0

我不這麼認爲,因爲錯誤是關於無法找到帶有ID的UpdatePanel ...... – 2011-03-01 13:09:58

+1

因爲你已經提到,有一個計時器每隔一段時間後觸發異步請求一秒鐘,如果這次用戶改變其他選項,那麼你必須停止在後臺運行的計時器。 – Student 2011-03-01 13:25:31

回答

0

我已經解決了這個問題,通過在Page Load事件處理程序中放置相同的邏輯,當用戶從下拉列表控件中選擇不同的選項時,我正在使用它來加載用戶控件,即下拉列表中的邏輯presenet selectedindexchanged事件處理程序。通過這種方式,上次啓動異步請求的更新面板在dropdownlist的autopostback選項生成回發後仍然可用。

0

讓您的Timer在執行前檢查DOM是否存在正確的控件。

+0

我沒有任何關於它的想法,因爲我沒有添加任何JavaScript的這種情況 – 2011-03-01 13:19:31