У меня ajax modelpopup extender
в моей веб-форме с CancelControlID
Установлен в изображение imgClose
. Когда я нажимаю на imgClose
после того, как всплывающее окно было отображено, оно закрывает всплывающее окно. Но если я нажимаю на какие-либо элементы управления или выбираю некоторые элементы управления, для которых требуется postback
, щелчок по изображению не будет ничего делать. Раньше у меня была кнопка CancelControlID
для той же modelpopup
. У этого также была та же проблема. Я обошел его с помощью метода codebehind OnClick="btnClose_Click"
и скрывал модельный пакет.Close image on 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>
У меня действительно есть imgClose в divPreview. Я обновил сообщение ... поэтому вы можете ссылаться на него ... Причина, по которой я должен был установить onclick, заключалась в том, что imgClose не работает после того, как есть обратная передача. divMenu и divBody содержит несколько элементов управления, которые запускают различные функции обратной передачи. – TFrost
Можете ли вы отредактировать сообщение и добавить кнопку, которая заставит работать imgClose? Я пробовал себя, и он работает здесь, но когда я открываю свой модальный, я не могу сделать обратную передачу, потому что есть оверлейный div, блокирующий всю страницу, кроме модального. – Carlos
Извините, я попробовал что-то другое: переместил ваш imgClose за пределы UpdatePanel, но внутри divPreview. – Carlos