【发布时间】:2014-08-22 14:12:13
【问题描述】:
所以我正在开发一个ASP.NET Web Forms 应用程序。我有:
`<asp:Panel ID="MyPanel" runat="server">'
在此面板中,我还有其他控件,例如 Repeaters、textboxes 等,在 (!IsPostBack) 上,我通过这样做来确定要显示或不显示整个面板的天气:
if (theClient.CType == "1")
{
MyPanel.CssClass == "display-none"
}
display-none 的定义如下:
.display-none {
display: none;
}
但是在某些情况下,我想再次显示整个面板,因为我在(!IsPostBack) 上设置了中继器和类似的东西,所以我想设置所有这些。我不完全确定这些可见性属性是如何工作的,但我需要的是要呈现的HTML 标记,要使用正确的数据初始化控件,但只是将其隐藏在页面上但仍处于活动状态。
因此,当满足显示面板的条件时,请记住这一点:
MyPanel.CssClass = string.Empty;
但是.. 什么都没有发生。我不完全确定,如果我正确地删除了样式,这是否是我应该用来完成我需要完成的正确的CSS 样式。
那么我该怎么做呢?
【问题讨论】:
-
为什么不简单做
MyPanel.Visible = true/false;这样它不依赖于 CSS,如果不可见,简单就不会呈现 -
事实上,我确实尝试了这个,但我没有得到
MyPanel我认为它并没有从一开始就呈现出来。事实上,我不确定到底发生了什么,但如果我第一次隐藏面板,那么我无法通过简单地返回Visible = true来显示它。