Как отключить отображение ModalPopupExtender, когда пользователь перейдет на страницу с помощью кнопки браузера?ModalPopupExtender показывает всплывающее окно, когда пользователь обращается к кнопке «Назад»
Я попытался реализовать решение here, которое по существу обрабатывает ModalPopup с использованием сценария на стороне клиента, но возникли проблемы с его реализацией. ($ find ("modPop") всегда возвращает null).
Есть ли другие методы для этого?
EDIT: Участок сгущается. Это происходит только потому, что я использую UpdatePanel внутри всплывающего окна. Код ниже должен дублировать ошибку. Также обратите внимание, что требуется использовать фиктивную кнопку.
- кнопка Нажмите, чтобы показать модальные
- Подтвердите На модальной
- уйдут со страницы
- Перейдите обратно на страницу задней кнопки ж/
- Модальных появляется undesireably.
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Test.aspx.vb" Inherits="Test" %>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"> </asp:ScriptManager>
<span style="display:none;"><asp:Button ID="btnDummy" runat="server" Text="Dummy" /></span>
<asp:Button id="btnShow" runat="server" Text="Show Modal"/>
<ajax:ModalPopupExtender ID="mpTest" runat="server" TargetControlID="btnDummy" PopupControlID="pnlTest"></ajax:ModalPopupExtender>
<asp:Panel id="pnlTest" style="display:none;border:10px solid green" DefaultButton="btnTest" runat="server">
<asp:UpdatePanel ID="upTest" runat="server">
<ContentTemplate>
<asp:Button ID="btnTest" runat="server" Text="Test" />
</ContentTemplate>
<Triggers>
<ajax:AsyncPostBackTrigger ControlID="btnTest" />
</Triggers>
</asp:UpdatePanel>
</asp:Panel>
<a href="http://stackoverflow.com">StackOverflow</a>
</div>
</form>
Partial Class Test Inherits System.Web.UI.Page Protected Sub btnShow_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShow.Click mpTest.Show() End Sub Protected Sub btnTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTest.Click mpTest.Hide() End Sub End Class
Я думаю, что это имеет смысл, когда вы подтвердить модальный полный постбэк не бывает, но мне нужно сделать это таким образом. Есть ли обходные пути?
Это то, как я первоначально протестировал решение, и оно не сработало. – plntxt 2010-12-01 14:33:30