在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
提交
取消
