嗨,任何人都可以告訴我怎麼能找到DataList控件內的DataList?它的錯誤對象沒有設置爲實例。如何在Datalist1中查找控件?
我發現的控制是這樣的:
DataList的DL =((DataList的)(DataList1.FindControl( 「DataList2」)));
這是正確的方法嗎?
嗨,任何人都可以告訴我怎麼能找到DataList控件內的DataList?它的錯誤對象沒有設置爲實例。如何在Datalist1中查找控件?
我發現的控制是這樣的:
DataList的DL =((DataList的)(DataList1.FindControl( 「DataList2」)));
這是正確的方法嗎?
這取決於當你想找到控制和控制。如果你只想得到他們所有的人,你可以循環下面的DataList Items。假設您想訪問DataList中的CheckBox。
foreach (DataListItem item in DataList1.Items)
{
if (item.ItemType == ListItemType.Item ||item.ItemType == ListItemType.AlternatingItem)
{
CheckBox chb=(CheckBox) item.FindControl("CheckBox1");
if (chb!= null)
{
//you can access chb.Checked value
}
}
}
DataList2是直接在DataList1中,還是在DataList1的子組件內?
FindControl
方法不會深入搜索控件。
我前一段時間寫了這樣做的方法,櫃面它的使用的,我會在這裏發佈:
public static IEnumerable<Control>
GetDeepControlsByType<T>(this Control control)
{
foreach(Control c in control.Controls)
{
if (c is T)
{
yield return c;
}
if(c.Controls.Count > 0)
{
foreach (var x in c.GetDeepControlsByType<T>())
{
yield return x;
}
}
}
}
你可以告訴我什麼是GetDeepControlsByType是它任何接口或方法m混淆 – 2011-01-07 17:03:37