在UpdatePanel 下使用 ModalPopupExtender的小技巧
原文參考http://www.jamestsai.net/Blog/post/How-to-use-ASPNET-AJAX-UpdatePanel-in-ModalPopup.aspx
如果你要使用 Ajax toolkits 的 ModalPopupExtender 控制項,但是卻使用 Updatepanel 的話,
你應該會遇到幾個難題,一個是秀出來的Panel 關不掉,或是放置在Panel 中的按鈕,沒法postback,
Google了好久,找到幾個答案,但是就是太簡短,或是方向不對,
後來方法很簡單,也很怪~就是你要新增一個不相關的按鈕,例如:
<input id="dummy" type="button" style="display: none" runat="server" />
然後把 ModalPopupExtender 的 TargetControlID設成他,而且不能設定 OkControlID,這樣一來,其他的按鈕就可以postback了。
<asp:ModalPopupExtender ID="PL_Time_ModalPopupExtender" runat="server"
Drag="True" DropShadow="True" DynamicServicePath="" Enabled="True"
PopupControlID="PL_Time" TargetControlID="dummy" BackgroundCssClass="modalBackground" >
另外,如果你要弄個彈出後,其他背景要變成類似遮罩的效果,你可以加入下面的css語法
<style type="text/css">
.modalBackground{
background-color:#CCCCFF;
filter:alpha(opacity=40);
opacity:0.5;
}
</style>