我根据labels
的选择更改了许多TextBoxes
或RadioButtonList
的可见状态。随着页面的增长,这些控件变得越来越长。我认为必须有一个更简单,更短的方法来做到这一点,但我找到的每个解决方案都会导致更长的代码。
以下是我正在做的事情的一个例子:
if (Tip == "Firma")
{
fsFirma.Visible = true;
txtGtip.Visible = false;
lblGtip.Visible = false;
lblFirmaGtip.Visible = false;
txtFirmaGtip.Visible = false;
lblFirmaInfo.Visible = true;
lblGtipGrup.Visible = false;
drpGtipGrup.Visible = false;
}
这种类型的控件适用于RadioButtonList
的每4个选项。
其中8个中有6个被设置为false
。是否有另一种语法或方法可以同时为其分配false
?或者这是正确的方法吗?我认为较短的代码可能不是最好的方式,但这些人看起来仍然可以缩短一点。
修改:我忘了提及我知道我可以在asp代码上将默认设置设置为false
,并将所需的设置设为true
,但我和#39; m也要求看其他方法。
答案 0 :(得分:2)
使用foreach
语句迭代控件集合,如下所示:
if (Tip == "Firma")
{
foreach (Control item in yourDiv.Controls)
{
item.Visible = false;
}
fsFirma.Visible = true;
lblFirmaInfo.Visible = true;
}
假设您的Div
元素是这样的:
<div id="yourDiv" runat="server">
<%--your controls--%>
</div>