2015-06-11 4 views
0

Я меняю видимые состояния многих 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; 
} 

Этот тип управления происходит каждые 4 варианта в RadioButtonList.

6 из 8 из них установлены на false. Есть ли другой синтаксис или метод для назначения false им сразу? Или это правильный способ сделать это? Я думаю, что более короткий код может быть не лучшим образом все время, но все же эти ребята выглядят так, как будто их можно немного сократить.

Edit: Я забыл упомянуть, я знаю, я могу просто установить значение по умолчанию для false на жереха код и манипулировать ими нужны те, как true, но я прошу, чтобы увидеть другие подходы тоже.

ответ

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> 
Смежные вопросы