在ASP.NET中找到控件的更好方法我有一个复杂的ASP.NET窗体,在一个窗体中甚至有50-60个字段,比如Multiview,在MultiView中,我有一个GridView,在GridView内部,我有几个CheckBoxes.当前,我正在使用FindControl()方法并检索子ID。现在,我的问题是,是否有其他方法/解决方案可以在ASP.NET中找到嵌套控件。
3 回答
BIG阳
TA贡献1859条经验 获得超6个赞
public static IEnumerable<T> FindControlsOfType<T>(this Control parent) where T : Control{ foreach (Control child in parent.Controls) { if (child is T) { yield return (T)child; } else if (child.Controls.Count > 0) { foreach (T grandChild in child.FindControlsOfType<T>()) { yield return grandChild; } } }}
慕哥6287543
TA贡献1831条经验 获得超10个赞
public T GetControlByType<T>(Control root, Func<T, bool> predicate = null) where T : Control { if (root == null) { throw new ArgumentNullException("root"); } var stack = new Stack<Control>(new Control[] { root }); while (stack.Count > 0) { var control = stack.Pop(); T match = control as T; if (match != null && (predicate == null || predicate(match))) { return match; } foreach (Control childControl in control.Controls) { stack.Push(childControl); } } return default(T);}
添加回答
举报
0/150
提交
取消