2012-12-01 1 views
0

특정 단추의 OnClick() 메서드 내에서 페이지의 모든 보이는 속성 목록을 가져 오려고합니다. 프로그래밍 방식으로 C# asp.net 내에서이 작업을 수행 할 수있는 방법이 있습니까?페이지에 표시되는 모든 속성 목록을 가져 오는 방법이 있습니까?

+2

MVC 또는 WebForms? '재산'이란 무엇을 의미합니까? –

+0

웹 양식. 속성은 asp : Textbox, asp : Label 등을 의미합니다. – Neeta

+0

은 Page.Controls 컬렉션을 반복하여 List 에 저장합니다. – CodeSpread

답변

2

당신은 페이지 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); 
}