1

Share.ascx という名前のユーザー コントロールがあります。

News.aspx というページがあります。

News.aspx で ModalPopupExtender を作成し、次に Panel を追加し、Panel 内に User Control: Share.ascx を追加して、Popup Extender が呼び出されたときに User Control を含む Panel が表示されるようにしました。

問題:

ModalPopupExtender が定義されているため、News.aspx から ModalPopupExtender を非表示にすることしかできませんが、ユーザー コントロールから ModalPopupExtender の HIDE 関数を呼び出す必要があります: Share.ascx.cs

それ、どうやったら出来るの?

ありがとうございました。

----------------------News.aspx-------------------------

<asp:Content ID="Content1" runat="server">

    <asp:LinkButton ID="lbtnShare" runat="server" Text='Share Link' /> 

    <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server"  
    TargetControlID="lbtnShare" PopupControlID="Panel1" 
    Drag="true" RepositionMode=RepositionOnWindowResizeAndScroll
    BackgroundCssClass="modalBackground" >
    </asp:ModalPopupExtender>

    <asp:panel id="Panel1" runat="server" style="display:none">
        <uc2:ShareLink ID="ShareLink" runat="server" />
    </asp:panel>
</asp:Content>

----------------------Share.ascx-------------------------

<asp:UpdatePanel ID="upSET" runat="server">
   <ContentTemplate>
      <asp:Button ID="btnCancel" Text="Cancel" runat="server" OnClick="btnCancel_Click" CausesValidation="false" />
   </ContentTemplate>
</asp:UpdatePanel>

ファイルが長すぎるので省略して重要な部分だけ載せました。

Share.ascx には [キャンセル] ボタンがあります。そのボタンで、News.aspx にある ModalPopupExtender1 の Hide() 関数を呼び出したいと思います。

4

2 に答える 2

1

ユーザー コントロールのコード ビハインドから、ModalPopupExtender を見つけようとします。

var popup = Parent.FindControl("ModalPopupExtender1") as ModalPopupExtender;

次に Hide() メソッドを呼び出します

popup.Hide();
于 2012-05-25T15:08:13.653 に答える
0

ユーザーコントロールのIDに[キャンセル]ボタンのIDを追加することにより、ModalPopupExtenderの親フォームから[OK]および[キャンセル]コントロールを参照できます。私は次のコードを使用します:

<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" Enabled="True" 
            TargetControlID="Button1" PopupControlID="UpdatePanel1"
            OkControlID="OpenRec1_btnOK"
            CancelControlID="OpenRec1_btnCancel">
        </asp:ModalPopupExtender>

        <asp:UpdatePanel ID="UpdatePanel1" runat="server">

            <ContentTemplate>
                <uc1:OpenRec runat="server" id="OpenRec1" />
            </ContentTemplate>
        </asp:UpdatePanel>

ユーザーコントロールの[OK]ボタンと[キャンセル]ボタンの名前は、btnOKとbtnCancelです。

于 2013-03-11T11:19:23.597 に答える