0

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

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

4

2 回答 2

2

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

只需分配 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客户端实例名称。然后使用弹出控制客户端方法,如 Show 或 ShowWindow。

于 2012-05-07T11:25:51.847 回答