我正在尝试遍历页面内的所有控件,其中包含一个 ajaxtoolkit:tabcontainer 和几个 ajaxtoolkit:tabpanel 。我正在尝试以递归方式执行此操作,如下所示:
protected override void AddedControl(Control control, int index)
{
base.AddedControl(control, index);
ParseControls(control);
}
public void ParseControls(Control control)
{
foreach (Control myControl in control.Controls)
{
ParseControls(myControl);
if(myControl.GetType().ToString().ToLower() == "AjaxControlToolkit.TabPanel".ToLower())
{
AjaxControlToolkit.TabPanel tabPanel = (AjaxControlToolkit.TabPanel)myControl;
Response.Write("tabpanel id is:" + tabPanel.ID + " |tab panel no of controls:" + tabPanel.Controls.Count.ToString() + "<br />");
}
}
}
我的问题是,每当我找到一个 TabPanel 时,我都无法遍历它的控件集合,因为 TabPanel.Controls.Count 总是返回 0,尽管在 aspx 页面中我添加了文本框、标签等。我还尝试使用 FindControl 方法查看 TabPanel 中的项目,但它对我没有帮助。
HtmlTable tbl = (HtmlTable)tabPanel.FindControl("tblContent");
有人可以指出我缺少什么吗?谢谢!