我已經爲頁面控件編寫了一個小擴展方法,用於遞歸搜索控件。但是我得到了「對象引用未設置爲對象的實例」異常。頁面控件的擴展方法 - 錯誤
而似乎page.Controls只有1個控件,並且在這個控件上我也是這個例外。
任何人有任何想法?
下面是代碼:
public static Control FindControlRecursive(this Page page, string id)
{
return Execute(page, id);
}
private static Control Execute(Control root, string id)
{
if (root.ID.Equals(id))
return root;
ControlCollection controls = root.Controls;
foreach (Control ctrl in controls)
{
Control FoundControl = Execute(ctrl, id);
if (FoundControl != null)
return FoundControl;
}
return null;
}
}
更新 現在我有另一個錯誤: 時出錯:索引超出範圍。必須是非負數且小於集合的大小。參數名稱:索引...
但是,這一個引發循環中的某個地方。
你知道從哪個行異常被趕?你有沒有嘗試在Visual Studio中進行調試? – 2012-08-03 12:07:20