2013-11-14 2 views
0

Мне нужно изменить видимость многих элементов управления на моей странице aspx.Поиск всех элементов управления на странице aspx по ссылке

Я нашел несколько способов, чтобы получить контроль как this one

Но я не могу установить значение этого управления, поскольку они передаются по Валу, и я не понять, как я могу добавить ключевое слово рефа в этом случае.

+2

'Control' является ссылочным типом, так передается ссылка. У вас не должно возникнуть проблемы с настройкой свойства видимости. – Magnus

ответ

2

Пробуйте link, он должен работать нормально. Кстати, управление - это ссылочный тип, а не тип значения.

1

От example в вашем вопросе, сделать это:

IEnumerable<Control> EnumerateControlsRecursive(Control parent) 
{ 
    foreach (Control child in parent.Controls) 
    { 
     yield return child; 
     foreach (Control descendant in EnumerateControlsRecursive(child)) 
      yield return descendant; 
    } 
} 

Использование:

foreach (Control c in EnumerateControlsRecursive(Page)) 
{ 
    if(c is TextBox) 
    { 
     var theTextBox = c as TextBox; 
     theTextBox.Visible = false; 
    } 

    if(c is Label) 
    { 
     var theLabel = c as Label; 
     theLabel.Visible = false; 
    } 

    ... 
} 
Смежные вопросы