如何訪問自定義驗證程序在頁面中嵌套多個級別的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.
這似乎是資源的浪費整。有沒有更好的方式從自定義驗證器訪問這些控件?
是 - 遞歸。 – Igor