回讀者 BB 的 ModalPopup 與 ConfirmButton 問題

摘要:回讀者 BB 的 ModalPopup 與 ConfirmButton 問題

2007/11/16 14:56:35
BB 說:

章老師您好,

 可在 ajax timer 的 tick 事件中啟動 ModalPopup 或是 ConfirmButton 嗎?謝謝您。 

 

親愛的 BB 讀者您好:

事實上,最新版本的 ASP.NET AJAX Control ToolkitConfirmButton 擴充器是可以和 ModalPopup 擴充器合作無間,請依照下列步驟進行作業:

  1. 在網頁中分別加入 ASP.NET AJAX ExtensionsTimer 控制項、AJAX Control ToolkitModalPopupConfirmButton 擴充器、用來顯示「強制回應跳出式方塊」Panel 控制項,以及 ModalPopupConfirmButton 所欲作用的同一個按鈕控制項。
  2. 如圖表 1 所示,替步驟 1 的控制項與擴充器設定相關屬性,請一併參考最下面的請注意說明。

    圖表 1
  3. 於 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
  4. 執行結果如圖表 2 所示。

 

圖表 2

請注意:
於設定 DisplayModalPopupID 屬性時,必須滿足下列三個條件:

  1. 必須將同一個按鈕控制項ID 指派給 ModalPopupConfirmButtonTargetControlID 屬性,也就是說這兩個擴充器擁有相同的 TargetControlID 屬性設定,此意味者,這兩個擴充器同生共死,唇齒相依。
  2. 必須將按鈕控制項的 ID 指派給 ModalPopup  的 OkControlIDCancelControlID 屬性,以便對分別應到原本 ConfirmButton 的 window.confirm() 函式所持有之 OKCancel 按鈕。
  3. 不能ModalPopup 指定 OnOkScript 與  OnCancelScript 屬性。如果您有指定這兩個屬性,於執行階段便會出現如下所示的錯誤訊息:

    Specified ModalPopupExtender may not set OnOkScript or OnCancelScript.

章立民研究室