在回发后,modelpopup上的关闭图像不起作用

时间:2015-06-28 18:33:48

标签: javascript c# asp.net ajax

我的网络表单中ajax modelpopup extender CancelControlID设置为图片imgClose。 弹出窗口后,当我点击imgClose时,它会关闭弹出窗口。但是,如果我单击任何控件或选择一些需要postback的控件,单击图像将完全不执行任何操作。 以前我为同一个CancelControlID设置了modelpopup按钮。它也有同样的问题。我使用OnClick="btnClose_Click"代码隐藏方法并隐藏了modelpopup来解决它。

对于imgClose我尝试使用客户端方法,但它不起作用。 有什么想法吗?

这是我的modelpopup extender image controljavascript

<ajx:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnTest"
                BackgroundCssClass="modalBackground" PopupControlID="divPreview" DropShadow="true"
                CancelControlID="imgClose">


    <div runat="server" id="divPreview">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:Panel ID="testDesign" runat="server" CssClass="boxdesignCustomerPopUp" Width="600px" Height="200px">
                <div>
                    <table>
                        <tr>                                            
                            <td>
                                <center>
                                    <strong>
                                        <asp:Literal ID="PopupTitleBar" runat="server"></asp:Literal>
                                    </strong>
                                </center>
                            </td>
                            <td style="vertical-align: top; float: right; position: absolute; top: 0px; right: 0px;">                                                
                                <img id="imgClose" alt="Close" src="image/close-button-red.png" runat="server" onclick="closeModelPopup()" />
                            </td>
                        </tr>
                    </table>
                </div>
                <div id="divMenu" style="float: left; width: 100px; height: auto">                                    
                </div>
                <div id="divBody" style="border: 2px">
                    <div id="divLedger" runat="server">
                        <hr />
                            <table>
                                <tr>
                                    <td class="designtextfont">Has Ledger</td>
                                    <td class="designtextbox">
                                        <asp:RadioButton ID="rdoLedgerYes" runat="server" AutoPostBack="True" GroupName="hasLedgerRdo"
                                                    Text="Yes" OnCheckedChanged="rdoLedgerYes_CheckedChanged" />
                                        <asp:RadioButton ID="rdoLedgerNo" runat="server" AutoPostBack="True" GroupName="hasLedgerRdo"
                                                    Text="No" OnCheckedChanged="rdoLedgerNo_CheckedChanged" />
                                    </td>
                                </tr>
                            </table>
                    </div>
                </div>
            </asp:Panel>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>


<script type="text/javascript">
    function closeModelPopUp() {
        $find('ModalPopupExtender1').hide();           
    }
</script>

1 个答案:

答案 0 :(得分:0)

尝试将imgClose按钮移动到divPreview之外的UpdatePanel。此外,您不需要onclick中的imgClose,因为ModalPopupExtender通过设置CancelControlID属性来处理它。