在程序开发过程中,碰到这样的问题:
1
<table>
2
<tr>
3
<td><asp:DropDownList id=dropdownlist1 runat=server></td>
4
</tr>
5
</table>
在基类页中有如下代码:2
3
4
5
1
foreach(Control pagectl in Page.Controls[1].Controls )
2
}
如上能正常执行,但当把table转成服务器控件时,DropDownList下拉框中的内容总为空,跟踪调试后发现系统根本就没有找到DropDownList控件。其原因是DropDownList控件在HtmlTable下,找到HtmlTable但不会找其下面的控件。2
改后代码如下:
1
foreach(Control pagectl in Page.Controls[1].Controls )
2
}
执行后,又能正常运行。 2
附:递归方法列举页面所有控件,包括某些控件中的子控件,如上面所说服务器表
格控件下 的子控件:
代码:
1
private void Button1_Click(object sender, System.EventArgs e)
2
}
2