摘要:回讀者 BB 的 ModalPopup 與 ConfirmButton 問題
2007/11/16 14:56:35BB 說:章老師您好,
可在 ajax timer 的 tick 事件中啟動 ModalPopup 或是 ConfirmButton 嗎?謝謝您。
親愛的 BB 讀者您好:
事實上,最新版本的 ASP.NET AJAX Control Toolkit 的 ConfirmButton 擴充器是可以和 ModalPopup 擴充器合作無間,請依照下列步驟進行作業:
- 在網頁中分別加入 ASP.NET AJAX Extensions 的 Timer 控制項、AJAX Control Toolkit 的 ModalPopup 與 ConfirmButton 擴充器、用來顯示「強制回應跳出式方塊」的 Panel 控制項,以及 ModalPopup 與 ConfirmButton 所欲作用的同一個按鈕控制項。
- 如圖表 1 所示,替步驟 1 的控制項與擴充器設定相關屬性,請一併參考最下面的「請注意」說明。
圖表 1 - 於 Timer 控制項的 Tick 事件處理常式中,呼叫 ModalPopup 擴充器的 Show
方法,以便顯示 ModalPopup 擴充器:
Protected Sub Timer1_Tick(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Timer1.Tick
Me.ModalPopupExtender1.Show()
End Sub - 執行結果如圖表 2 所示。
圖表 2 |
請注意:
於設定 DisplayModalPopupID 屬性時,必須滿足下列三個條件:
- 必須將同一個按鈕控制項的 ID 指派給 ModalPopup 與 ConfirmButton 的 TargetControlID 屬性,也就是說這兩個擴充器擁有相同的 TargetControlID 屬性設定,此意味者,這兩個擴充器同生共死,唇齒相依。
- 必須將按鈕控制項的 ID 指派給 ModalPopup 的 OkControlID 或 CancelControlID 屬性,以便對分別應到原本 ConfirmButton 的 window.confirm() 函式所持有之 OK 與 Cancel 按鈕。
- 不能替 ModalPopup 指定 OnOkScript 與 OnCancelScript 屬性。如果您有指定這兩個屬性,於執行階段便會出現如下所示的錯誤訊息:
Specified ModalPopupExtender may not set OnOkScript or OnCancelScript.
章立民研究室