I have a page "Default.aspx". In this page is a ModalPopupControl with an iFrame:
<div style="float: right; margin-right: 10px; margin-top: 8px;">
<asp:Button ID="btnSearchGo" runat="server" Text="Jetzt suchen" OnClick="btnSearchGo_Click" />
</div>
<asp:ModalPopupExtender BackgroundCssClass="ModalPopupBG" OkControlID="linkClosestartSeach"
PopupDragHandleControlID="PopupHeader" ID="mpeMiniSearch" runat="server" TargetControlID="linkFooterImpressum"
PopupControlID="panMiniSearch">
</asp:ModalPopupExtender>
<asp:Panel Style="display: none" ID="panMiniSearch" runat="server">
<div class="HellowWorldPopup">
<div class="PopupHeader" id="Div10">
Suche</div>
<div class="PopupBody">
<iframe id="iFrameMiniSearch" runat="server" src="MiniSearch.aspx" class="iFramePopUp">
</iframe>
</div>
<div class="popupFooter">
<asp:LinkButton Text="Schließen" class="linkPupopClose" runat="server" ID="linkClosestartSeach"></asp:LinkButton>
</div>
</div>
</asp:Panel>
protected void btnSearchGo_Click(object sender, EventArgs e)
{
iFrameMiniSearch.Attributes["src"] = "MiniSearch.aspx";
//Do More
mpeMiniSearch.Show();
}
Now I have a LinkButton in the iFrame that should close the MPE and redirect the Page Default.aspx to Register.aspx.
Any Idea how to do?
First, you'll need to specify a BehaviorID
for your ModalPopupExtender
, so you can access it from the client side. That property defaults to the ClientID
of the extender, which will vary depending on the container chain, so it's best to specify it explicitly:
<asp:ModalPopupExtender ID="mpeMiniSearch" runat="server"
BehaviorID="mpeMiniSearch" BackgroundCssClass="ModalPopupBG"
OkControlID="linkClosestartSeach" PopupDragHandleControlID="PopupHeader"
TargetControlID="linkFooterImpressum" PopupControlID="panMiniSearch">
</asp:ModalPopupExtender>
Then, you can call $find() from your LinkButton
's ClientClick event:
function yourLinkButton_clientClick()
{
var modalPopup = window.parent.$find("mpeMiniSearch");
if (modalPopup != null) {
modalPopup.hide();
window.parent.location.href = "Register.aspx";
}
}