사용자 정의 유효성 검사기에서 페이지의 여러 수준 중첩 된 asp.net 컨트롤에 어떻게 액세스합니까?사용자 지정 유효성 검사기에서 중첩 컨트롤에 액세스
특히, 다른 자리 표시 자 내부에있는 다른 중계기 내부에있는 중계기 내부에있는 자리 표시 자 내에있는 드롭 다운 목록을 생성하고 있습니다.
서로 비교하려면 모든 드롭 다운 상자에서 선택한 값에 액세스해야합니다.
For Each g As Control In sender.Parent.Controls
If g.GetType().ToString.Equals("System.Web.UI.WebControls.Repeater") Then
For Each k As Control In g.Controls
If k.GetType().ToString.Equals("System.Web.UI.WebControls.RepeaterItem") Then
For Each l As Control In k.Controls
If l.GetType().ToString.Equals("System.Web.UI.WebControls.Repeater") Then
For Each p As Control In l.Controls
If p.GetType().ToString.Equals("System.Web.UI.WebControls.RepeaterItem") Then
For Each n As Control In p.Controls
If n.GetType().ToString.Equals("System.Web.UI.WebControls.PlaceHolder") Then
For Each c As Control In n.Controls
If c.GetType().ToString.Equals("System.Web.UI.WebControls.DropDownList") Then
'Add the dropdownlist to an array so that I can use it after all drop down lists have been added for validation.
이 자원의 전체 쓰레기처럼 보인다 : 나는 DropDownList로의 액세스 깊은만큼 아래로 얻을 때까지
나의 현재 솔루션은 각 컨트롤 내부의 모든 컨트롤을 통해 반복하는 것입니다. 사용자 정의 유효성 검사기에서 이러한 컨트롤에 액세스하는 더 좋은 방법이 있습니까?
예 - 재귀. – Igor