ユーザーがブラウザの戻るボタンを使用してページに移動したときに、ModalPopupExtenderがポップアップを表示しないようにするにはどうすればよいですか?ModalPopupExtenderは、ユーザーが戻るボタンを押すとポップアップを表示します。
クライアントサイドスクリプトを使用してModalPopupを処理するが実装上問題があったhereという解決策を実装しようとしました。 ($ find( "modPop")は常にnullを返します)。
これを処理する他の方法はありますか?
編集:プロットは、を濃くします。これは、ポップアップ内でUpdatePanelを使用しているためにのみ発生します。次のコードは、エラーを複製する必要があります。また、ダミーボタンの使用が必要です。バックページへ
- クリックボタンバック/ Wボタン
- モーダル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
モーダルポップアップの 'BehaviorId'を明示的に設定してみてください – batwad