我有一个页面“Default.aspx”。 在这个页面中是一个带有iFrame的ModalPopupControl:
<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();
}
现在我在iFrame中有一个LinkButton应该关闭MPE并将Page Default.aspx重定向到Register.aspx。
任何想法怎么做?
答案 0 :(得分:4)
首先,您需要为BehaviorID
指定ModalPopupExtender
,以便您可以从客户端访问它。该属性默认为扩展器的ClientID
,具体取决于容器链,因此最好明确指定它:
<asp:ModalPopupExtender ID="mpeMiniSearch" runat="server"
BehaviorID="mpeMiniSearch" BackgroundCssClass="ModalPopupBG"
OkControlID="linkClosestartSeach" PopupDragHandleControlID="PopupHeader"
TargetControlID="linkFooterImpressum" PopupControlID="panMiniSearch">
</asp:ModalPopupExtender>
然后,您可以从LinkButton
的{{3}}活动中致电$find():
function yourLinkButton_clientClick()
{
var modalPopup = window.parent.$find("mpeMiniSearch");
if (modalPopup != null) {
modalPopup.hide();
window.parent.location.href = "Register.aspx";
}
}