在UpdatePanel 下使用 ModalPopupExtender的小技巧

在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>