日期:2014-05-17  浏览次数:20470 次

使用ModalPopupExtender控件 窗体不显示的问题
请问Ajax里的ModalPopupExtender控件有几种显示方法,我只知道一种在后台的事件里写ModalPopupExtender1.show();方法。但是我想用它的TargetControlID="btnHide"的tbnHide.click()方法弹出模式窗体。但总是不能成功。这是我的代码,请各位高手给参谋参谋。急!!!!!!!!!!!1

     <script type="text/javascript">
         function showDiv(controlname) {

             var btnHid = document.getElementById(controlname);
             btnHid.click();
             return false;
         }
</script>
<asp:Panel ID="Panel1" runat="server" Style="width: 460px; height: 229px; display: none; background-image:url(../images/waiting.bmp)">
        <asp:UpdatePanel ID="UpdatePanel4" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <div style="width: 460px; height: 229px; margin-left: 180px; margin-top: 75px">
                    <img src="../images/wait.gif" alt ="wait" height ="100px" width ="100px" />
                </div>
           
            </ContentTemplate>
        </asp:UpdatePanel>
      
    </asp:Panel>
    <ajax:ModalPopupExtender ID="mpeMain" runat="server"   TargetControlID="btnHide" PopupControlID="Panel1"
         BackgroundCssClass="mpecss" RepositionMode="None">
    </ajax:ModalPopupExtender>



    <asp:Button ID="btnHide"  runat="server" Text="隐藏" style=" display: none" />

   <asp:Button ID="btnGetPrice" runat="server" Text="获取" 
                                            OnClientClick="showDiv(<%=btnHide.ClientID%>)" onclick="btnGetPrice_Click" 
                                             />


我的主要目的是想通过调用tbnGetPrice按钮的OnClientClick方法弹出模式对话框,然后在btnGetPrice_Click事件里写从数据库读取数据。为这个时间可能会10秒左右,我想让前台不能点击其他按钮或进行其他错误以免死机。但是每次运行的时候直接进入btnGetPrice_Click方法里,不会弹出模式窗体。 还有我这个页面是ajax窗体,会不会有什么影响。在线等。。。
------最佳解决方案--------------------
我是来看楼主头像的



------其他解决方案--------------------
需要配合后台代码吧!
ModalPopupExtender绑定的控件一定得存在当前页面
------其他解决方案--------------------
问题已解决,每人领分啊。