在我的表单中,visible=false
状态下有50个文本框,当用户输入特定数字时,应显示那些文本框,其余文本框应保持visible false
状态。
答案 0 :(得分:1)
应该最终看起来像这样:
foreach (var control in this.Controls)
{
var textbox = control as TextBox;
if (var != null) textbox.Visible = true;
}
答案 1 :(得分:0)
您可以循环播放所有文本框控件,如下所示:
foreach (Control item in this.form1.Controls)
{
System.Web.UI.HtmlControls.HtmlInputText tbx = item as System.Web.UI.HtmlControls.HtmlInputText;
if (tbx!= null)
{
if(tbx.Text == "some text")
tbx.Visible = false; // or true how ever you want it
else
tbx.Visible = true;
}
}
因此,如果tbx不为null,则item为textbox,实际上是:
<input type="text"/>
您可以使用其他HtmlControl执行相同的操作。 将form1更改为您想要循环的控件。
答案 2 :(得分:0)
您可以将所有控件包装在Asp.net Panel Control中。
int counter = 0;
int numberOfTextBoxtoShow = 4; // set by user
foreach (Control c in Panel1.Controls)
{
if (c is TextBox)
{
if (counter < numberOfTextBoxtoShow)
{
c.Visible = true;
counter++;
}
else c.Visible = false;
}
}