我的网络表单中ajax modelpopup extender
CancelControlID
设置为图片imgClose
。
弹出窗口后,当我点击imgClose
时,它会关闭弹出窗口。但是,如果我单击任何控件或选择一些需要postback
的控件,单击图像将完全不执行任何操作。
以前我为同一个CancelControlID
设置了modelpopup
按钮。它也有同样的问题。我使用OnClick="btnClose_Click"
代码隐藏方法并隐藏了modelpopup来解决它。
对于imgClose
我尝试使用客户端方法,但它不起作用。
有什么想法吗?
这是我的modelpopup extender
image control
和javascript
<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>
答案 0 :(得分:0)
尝试将imgClose
按钮移动到divPreview
之外的UpdatePanel
。此外,您不需要onclick
中的imgClose
,因为ModalPopupExtender
通过设置CancelControlID
属性来处理它。