Как мне запретить ModalPopupExtender показывать всплывающее окно, когда пользователь переходит на страницу с помощью кнопки назад браузера?
Я пытался реализовать найденное решение здесь , которое по существу обрабатываетModalPopup использовал скрипт на стороне клиента, но имел проблемы с его реализацией.($ find ("modPop") всегда возвращает ноль).
Существуют ли другие методы для обработки этого?
РЕДАКТИРОВАТЬ: График утолщается .Это происходит только потому, что я использую UpdatePanel внутри всплывающего окна.Код ниже должен дублировать ошибку.Также обратите внимание, что использование фиктивной кнопки обязательно.
- Нажмите кнопку, чтобы отобразить модальный
- Подтвердите модальный
- Перейдите со страницы
- Перейдите назад на страницу с кнопкой возврата
- Модальное изображение появляется нежелательно.
<%@ 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
Я думаю, что это имеет смысл, поскольку, когда вы подтверждаете, что модальный полный постбэк небывает, но мне нужно сделать это таким образом.Есть ли обходные пути?