0
我需要更改我的aspx頁面中許多控件的可見性。通過引用查找aspx頁面中的所有控件
我發現了幾個方法來得到這樣this one
的控制,但我不能設置值,此控制,因爲它們是由VAL過去了,我不知道我是怎麼可以添加裁判關鍵詞在這種情況下。
我需要更改我的aspx頁面中許多控件的可見性。通過引用查找aspx頁面中的所有控件
我發現了幾個方法來得到這樣this one
的控制,但我不能設置值,此控制,因爲它們是由VAL過去了,我不知道我是怎麼可以添加裁判關鍵詞在這種情況下。
試試這個link,它應該工作正常。順便說一句,控制是一種參考類型而不是一種值類型。
從你的問題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;
}
...
}
'Control'是引用類型,這樣的引用傳遞。您應該沒有問題設置可見性屬性。 – Magnus