【问题标题】:How can I edit properties of multiple objects in a relatively shorter way?如何以相对较短的方式编辑多个对象的属性?
【发布时间】:2015-06-11 08:05:45
【问题描述】:

我正在更改许多labelsTextBoxes 的可见状态,具体取决于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 但我要求查看其他也接近了。

【问题讨论】:

    标签: c# asp.net controls


    【解决方案1】:

    使用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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多