显示另一页上的ASPxPopup控件

时间:2012-05-06 10:58:25

标签: asp.net .net devexpress

我在页面上有一个DevExpress ASPxPopup控件。现在,当我单击母版页中菜单栏上的链接时,我想显示该弹出窗口。

我可以使用Master.FindControl()访问母版页中的弹出窗口,但我不知道如何访问子页面中的弹出窗口。

2 个答案:

答案 0 :(得分:2)

如果您知道当页面完全加载时,那么主页面和子aspx页面呈现的html标记和脚本可以使用它。因此,您可以访问Master页面或ChildPage上的两个popupControl。

只需分配设置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>`

注意:您不能以更好的方式使用服务器端包含弹出控件,因此请学习回调和callbackpanel等来处理客户端脚本。

希望这能帮到你..

答案 1 :(得分:1)

您可以在客户端实现此功能。设置ASPxPopupControlClientInstanceName。然后使用弹出控件client side methods,如Show或ShowWindow。