当用户通过浏览器的后退按钮导航到页面时,如何阻止ModalPopupExtender显示弹出窗口?
我尝试实现找到here的解决方案,该解决方案基本上使用客户端脚本处理ModalPopup但是在实现时遇到了问题。 ($ find(“modPop”)总是返回null)。
还有其他处理方法吗?
编辑:情节变粗。这只是因为我在弹出窗口中使用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
我认为这是有道理的,因为当您确认模态时,完整的回发不会发生,但我需要这样做。有没有解决方法?
答案 0 :(得分:0)
在ASP.NET论坛的解决方案中,modPop
中的$find("modPop")
是模式弹出窗口的行为ID,在您的情况下为mpTest
。尝试在BehaviorId="mpTest"
上明确设置ModalPopupExtender
,看看它是否有效。