如何让 ASPxPopupControl 从(以前)隐藏按钮中出现?

发布于 2024-10-30 10:16:34 字数 260 浏览 0 评论 0原文

我想在用户单击按钮时显示 ASPxPopupControl。但这有一个问题。该按钮属于一个面板,默认情况下是隐藏的。仅当用户告诉它这样做时才会显示。

如果面板最初可见,则弹出控件显示得很好。但如果它最初是不可见的(由属性 Visible="false" 设置),那么即使面板显示,弹出控件也永远不会出现!

我该如何解决这个问题?我知道我应该在 Devexpress 论坛上问这个问题,但如果我在这里尝试也没什么坏处,对吧?

谢谢你!

I want to show up an ASPxPopupControl whenever an user click a button. But there's a problem with this. The button belongs to a panel, which is hidden by default. It's only shown when user tells it to do so.

If the panel is initially visible, the popup control shows just fine. But if it's initially invisible (set by attribute Visible="false"), then when even the panel shows up, the popup control never appears!

How can I fix this? I know that I should ask this question in Devexpress forums, but it never hurts if I try here, right?

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷雾森÷林ヴ 2024-11-06 10:16:34

您使用的是 ASPxPanel 控件吗?如果是这样,请尝试使用面板的 ClientVisible 属性而不是 Visible。这有帮助吗?

更新

我建议您开始使用 ASPxPanel 并使用其 ClientVisible 属性。如果您想使用标准 Panel,则应使用 style.visibility 属性隐藏它:

<asp:Panel ID="Panel1" runat="server" BackColor="Green">
Test Panel
</asp:Panel>
<input type="button" value="show panel"
       onclick="document.getElementById('Panel1').style.visibility='';" />

C#:

protected void Page_Load(object sender, EventArgs e) {
    if(!IsPostBack)
        Panel1.Style.Add("visibility", "hidden");
}

Are you using the ASPxPanel control? If so, try to use the panel's ClientVisible property instead of Visible. Does this help?

UPDATE

I would suggest that you start using the ASPxPanel instead and use its ClientVisible property. If you want to use the standard Panel, you should hide it using the style.visibility property:

<asp:Panel ID="Panel1" runat="server" BackColor="Green">
Test Panel
</asp:Panel>
<input type="button" value="show panel"
       onclick="document.getElementById('Panel1').style.visibility='';" />

C#:

protected void Page_Load(object sender, EventArgs e) {
    if(!IsPostBack)
        Panel1.Style.Add("visibility", "hidden");
}
鲜血染红嫁衣 2024-11-06 10:16:34

我不确定,但我认为通过在服务器端代码中放置 Visible = false 不会将控件呈现给浏览器。所以我们无法通过 DOM 访问它。我认为你需要设置样式而不是 Visible 属性。

I am not sure, but I think by putting Visible = false in the server side code will not render the control to the browser. So we can't access it via DOM. I think you need to set the style instead of Visible property.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文