我在页面上有一个DevExpress ASPxPopup控件。现在,当我单击母版页中菜单栏上的链接时,我想显示该弹出窗口。
我可以使用Master.FindControl()访问母版页中的弹出窗口,但我不知道如何访问子页面中的弹出窗口。
答案 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)
您可以在客户端实现此功能。设置ASPxPopupControl。ClientInstanceName。然后使用弹出控件client side methods,如Show或ShowWindow。