2016-11-09 42 views
0

我需要隐藏一些指令并在C#代码隐藏中基于代码显示它们。带有runat =“服务器”Asp.net如何隐藏标准的html和基于runat服务器的显示

这是我现在所拥有的

<asp:TextBox ID="TextBox4" runat="server" CssClass="form-control" Visible="false"></asp:TextBox> 

在C#我有

if (Title == "Beer") 
      { 
       TextBox4.Visible = true; 
       TextBox4.Text = "Instructions go here"; 
      } 

是我想要做的是使用HTML段落标记的说明,只有数据的文本框和标签。我能做些什么来完成这件事?我可以使用什么类来隐藏段落标记,只有在if循环中满足条件时才显示它。

也就是有办法拥有如环说

if (Title == "Beer" OR Title == "Wine") 

或者我需要做一系列的IF循环。

回答

0

在你的c#中,你可以在使用TextBox4.visible = false时隐藏文本框/标签;

例子:

`if (Title == "Beer"|| Title == "Wine") 
     { 
      TextBox4.Visible = true; 
      TextBox4.Text = "Instructions go here"; 
     } 
else  { 
      TextBox4.Visible = false; 
     }` 
+0

反正有没有使用文本框,并使用段落标签或指令的其他内容,但仍然保持隐藏就像你可以在文本框? – why

+0

当我使用文本框时,我的说明比文本框长,文本框可编辑。 – why

+0

你可以将它包含在一个asp:面板中,并给它一个id,然后在c#中引用它来隐藏内容 –

0

我认为你正在寻找一个PlaceHolderPanel

<asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible="false"> 
    <p> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
     <br /> 
     <asp:TextBox ID="TextBox4" runat="server" CssClass="form-control" Visible="false"></asp:TextBox> 
    </p> 
</asp:PlaceHolder> 

然后在后面的代码(双||OR当量)

if (Title == "Beer" || Title == "Wine") 
{ 
    PlaceHolder1.Visible = true; 
    TextBox4.Text = "Instructions go here"; 
} 

一个panel将一个包裹里面<div>一切,一个PlaceHolder不 没有。 Read more

+0

@ VDWWD感谢您的帮助。我会尝试占位符或面板。由于我对ASP.net相当陌生,在哪里可以找到一个很好的参考来找出我可以使用哪些类,哪些是最常用的类? – why