2012-12-01 122 views
0

我想要獲取特定按鈕的OnClick()方法內頁面上所有可見屬性的列表。有沒有辦法做到這一點編程在asp.net中的c#中?有沒有辦法獲得頁面上所有可見屬性的列表?

+2

MVC或WebForms? 「屬性」是什麼意思? –

+0

Web窗體。屬性含義asp:Textbox,asp:Label等。 – Neeta

+0

遍歷Page.Controls集合並將其存儲在列表中。 – CodeSpread

回答

2

你需要recursivly itterate所有控件的頁面,找到那些可見:

List<Control> visibleList = null; 
protected void FindVisibleControls(Control parent) 
{ 
    foreach(Control c in parent.Controls) 
    { 
     if (c.Visible) 
     { 
      visibleList.Add(c); 
     } 

     if (c.HasControls()) 
      FindVisibleControls(c); 
    } 
} 

使用 - 在你點擊鏈接調用它是這樣的:

protected Button1_Click(object sender, EventArgs e) 
{ 
    visibleList = new List<Control>(); 
    FindVisibleControls(this); 
} 
相關問題