0

ページにDevExpressASPxPopupコントロールがあります。ここで、マスターページにあるメニューバーのリンクをクリックしたときにそのポップアップを表示したいと思います。

Master.FindControl()を使用してマスターページのポップアップにアクセスできますが、子ページのポップアップにアクセスする方法がわかりません。

4

2 に答える 2

2

ページが完全に読み込まれると、マスターページと子aspxページでレンダリングされたhtmlマークアップとスクリプトを使用できることがわかっています。したがって、マスターページまたはチャイルドページのいずれかで両方のpopupControlsにアクセスできます。

Set ASPxPopupControl.ClientInstanceNameを割り当て、ボタンのクライアント側イベントを使用してポップアップを表示または非表示にするだけです。

次の作業例を確認してください。//マスターページのマークアップ

<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>

<body>
    <form id="form1" runat="server">
    <div>
        <dx:ASPxPopupControl ID="parentPopupControl" ClientInstanceName="parentPopup" runat="server">
            <ContentCollection>
<dx:PopupControlContentControl runat="server" SupportsDisabledAttribute="True">this 
    is parent popup</dx:PopupControlContentControl>
</ContentCollection>
        </dx:ASPxPopupControl>
        <dx:ASPxHyperLink ID="hlnkShowChildPopup" runat="server" Text="Show Child Popup">
            <ClientSideEvents Click="function(s, e) {
    childPopup.Show();
}" />
        </dx:ASPxHyperLink>

        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>`

///子ページのマークアップ

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <dx:ASPxPopupControl ID="childPopupControl" runat="server" 
    ClientInstanceName="childPopup">
    <ContentCollection>
<dx:PopupControlContentControl runat="server" SupportsDisabledAttribute="True">this 
    is child popup control</dx:PopupControlContentControl>
</ContentCollection>
</dx:ASPxPopupControl>

    <dx:ASPxHyperLink ID="hlnkShowParentPopup" runat="server" Text="Show Parent Popup">
            <ClientSideEvents Click="function(s, e) {
    parentPopup.Show();
}" />
        </dx:ASPxHyperLink>
</asp:Content>`

注:サーバーサイドインクルードを使用してポップアップコントロールをより適切に使用することはできないため、クライアントサイドスクリプトを機能させるには、コールバックやコールバックパネルなどについて学習してください。

これがお役に立てば幸いです。

于 2012-05-09T07:27:41.113 に答える
1

これはクライアント側で実装できます。ASPxPopupControlを設定します。ClientInstanceName。次に、ShowやShowWindowなどのポップアップコントロールクライアント側メソッドを使用します。

于 2012-05-07T11:25:51.847 に答える