2013-11-14 51 views
0

我需要更改我的aspx頁面中許多控件的可見性。通過引用查找aspx頁面中的所有控件

我發現了幾個方法來得到這樣this one

的控制,但我不能設置值,此控制,因爲它們是由VAL過去了,我不知道我是怎麼可以添加裁判關鍵詞在這種情況下。

+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; 
    } 

    ... 
} 
相關問題