1

「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();
    }

これで、MPE を閉じて Page Default.aspx を Register.aspx にリダイレクトする iFrame に LinkBut​​ton ができました。

方法はありますか?

4

1 に答える 1

4

まず、クライアント側からアクセスできるように、BehaviorIDを指定する必要があります。ModalPopupExtenderこのプロパティのデフォルトClientIDはエクステンダーのです。これはコンテナーチェーンによって異なるため、明示的に指定することをお勧めします。

<asp:ModalPopupExtender ID="mpeMiniSearch" runat="server"
    BehaviorID="mpeMiniSearch" BackgroundCssClass="ModalPopupBG"
    OkControlID="linkClosestartSeach" PopupDragHandleControlID="PopupHeader"
    TargetControlID="linkFooterImpressum" PopupControlID="panMiniSearch">
</asp:ModalPopupExtender>

次に、のClientClickイベントから$ find()を呼び出すことができます。LinkButton

function yourLinkButton_clientClick()
{
    var modalPopup = window.parent.$find("mpeMiniSearch");
    if (modalPopup != null) {
        modalPopup.hide();
        window.parent.location.href = "Register.aspx";
    }
}
于 2011-01-28T11:30:35.377 に答える