asp:面板不会隐藏在代码背后

时间:2016-05-05 12:57:28

标签: c# asp.net

这是合约。我有几个元素,我可能想要或不想在用户界面上显示由数据库中的表控制。因此,基于我存储的值,我想要向用户显示控件。为了解决这个问题,我将我正在使用的所有控件放在页面上,并将它们放在面板中,每个控件都有一个唯一的ID,以便在后面的代码中通过panelname.visible = true / false来解决它们。

在为此构建后面的代码之前,我通过在asp.net页面上向面板添加属性来测试效果,我对结果很满意。

我测试了一个代码背后,它工作得很好!所以我建立了其余的并尝试了它,然后突然它没有工作!

如果你在这里看到错误,这就是我告诉我的事情!我感到困惑,面板应该隐藏,但是DB的参考bool不是假的。

ASP.NET代码:

<asp:Panel runat="server" ID="Sys1pnl" >
   <asp:CheckBox runat="server" ID="SysChkBX1" Value="AIX 6.1" Text="&nbsp;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;

在所有情况下,面板和内容仍然可见,即使它们应该被隐藏(不可见)。

任何想法都将不胜感激。 肯...

2 个答案:

答案 0 :(得分:0)

您是否打算实际检查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");

答案 1 :(得分:0)

好吧,因为它在添加其他逻辑之前工作,这意味着您共享的代码没有任何问题。 我建议您恢复最新的更改并逐个添加功能,以查看导致问题的原因。

另一个想法是检查页面的Javascript调试器,从浏览器检查页面。如果html出错,则会显示错误。