在程序开发过程中,碰到这样的问题:

1服务器控件HtmlTable下控件赋值问题<table>
2服务器控件HtmlTable下控件赋值问题  <tr>
3服务器控件HtmlTable下控件赋值问题    <td><asp:DropDownList id=dropdownlist1 runat=server></td>
4服务器控件HtmlTable下控件赋值问题  </tr>
5服务器控件HtmlTable下控件赋值问题</table>
在基类页中有如下代码:
1服务器控件HtmlTable下控件赋值问题foreach(Control pagectl in Page.Controls[1].Controls  )
2}
如上能正常执行,但当把table转成服务器控件时,DropDownList下拉框中的内容总为空,跟踪调试后发现系统根本就没有找到DropDownList控件。其原因是DropDownList控件在HtmlTable下,找到HtmlTable但不会找其下面的控件。
改后代码如下:
 1服务器控件HtmlTable下控件赋值问题foreach(Control pagectl in Page.Controls[1].Controls  )
 2                }
执行后,又能正常运行。



附:递归方法列举页面所有控件,包括某些控件中的子控件,如上面所说服务器表
        格控件下 的子控件:
        代码:
 1服务器控件HtmlTable下控件赋值问题private void Button1_Click(object sender, System.EventArgs e)
 2        }

相关文章: