事情是这样的。我有几个元素,我可能想要也可能不想在用户界面上显示,这些元素由数据库中的表控制。因此,根据我存储的值,我希望将控件显示给用户或不显示。为了解决这个问题,我将我正在使用的所有控件放在页面上,并将它们放在面板中,每个面板都有一个唯一的ID,这样它们就可以在后面的代码中通过panelname.sible=true/false来寻址。
在为此构建代码幕后结构之前,我通过将属性添加到asp.net页面上的面板来测试效果,我对结果感到满意。
我用代码测试了一个,它工作得很好!所以我构建了其余的,并尝试了一下,突然它就不起作用了!
这就是我要做的,如果你发现这里有什么问题,请告诉我!我很困惑面板应该隐藏起来,但它不是引用bool是假的从数据库。
ASP.NET代码:
<asp:Panel runat="server" ID="Sys1pnl" >
<asp:CheckBox runat="server" ID="SysChkBX1" Value="AIX 6.1" Text=" AIX 6.1" BackColor="DeepSkyBlue" Font-Size="X-Small" />
<br />
</asp:Panel>代码背后的代码:
if (ElementsVal.AIX_6_1 == true)
Sys1pnl.Visible = true;
else
Sys1pnl.Visible = false;在所有情况下,面板和内容都保持可见,即使它们应该是隐藏的(不可见)。
任何想法都将不胜感激。肯。
发布于 2016-05-05 21:07:20
您是否打算实际检查存储在CheckBox本身中的值?
如果是这样,那么您可以只使用Value属性,看看它是否满足您的条件,然后相应地隐藏:
// This will show / hide your panel based on if the value of your Checkbox is "AIX 6.1"
Sys1pnl.Visible = (SysChkBX1.Value == "AIX 6.1");发布于 2016-05-05 21:16:08
因为它在添加其他逻辑之前是有效的,所以这意味着您共享的代码没有任何错误。我建议您恢复您的最新更改,并逐个添加您的功能,以查看是哪个功能导致了问题。
另一个想法是检查页面的Javascript调试器,使其不能从浏览器中检查页面。如果html有错误,就会在那里显示一个错误。
https://stackoverflow.com/questions/37051253
复制相似问题