使ModalPopupExtender指向的對話方塊響應服務端指令碼

來源:互聯網
上載者:User
 ModalPopupExtender是ASP.Net Ajax toolkits裡面提供的一個在網頁中製作彈出對話方塊的控制項。它的介紹可以看這裡。但是,按照文中的使用方法會有兩處局限:第一、被指定為確定鍵(OkControlID屬性)和被指定為取消鍵(CancelControlID屬性)的兩個控制項不再響應服務端指令碼,也即他們的單擊事件中的代碼不再被執行。而執行的是使用OnOkScript屬性和OnCancelScript屬性指定的用戶端指令碼。第二、使用TargetControl屬性指定的控制項,也不會執行它自己的服務端事件代碼。
對於第一個問題,解決的方法很簡單:去掉對OkControlID和CancelControlID屬性。對於第二個問題,如果去掉了TargetControl屬性,當某個控制項被點擊時對話方塊如何彈出呢?解決方案就是製作一個偽按鈕。舉個例子,
頁面上有個DialogPanel作為彈出對話方塊,DialogPanel中有btnOK和btnCancel兩個按鈕。頁面上另外有一個按鈕,叫btnSave。要求btnSave被單擊以後彈出DialogPanel,然後根據使用者單擊btnOK或btnCancel行為執行一段服務端代碼。對於這個需求,可以這樣做:在頁面上另外添加一個按鈕(偽按鈕),設定style="display: none"(這裡特別注意,不要直接Visible=false,這樣快顯視窗最後會無法顯示),把ModalPopupExtender的TargetControl設定為這個按鈕。在btnSave的服務端單擊事件響應代碼中,調用ModalPopupExtender。這樣,無論是btnSave、btnOK還是btnCancel都可以執行服務端事件代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.