若用 string cdept =((HtmlInputText)FindControl("dept0" + i.ToString())).Value;
提示结果为空值,即无法找到控件。
改为:
string cdept =((HtmlInputText)post01.FindControl("dept0" + i.ToString())).Value;
post01是页面的一个控件名称(只要是页面的控件名称都可以)
原理:
FindControl方法是根据ID在Control所在的命名容器中寻找相应控件。当执行TextBox1.FindControl("Button1")时,ASP.NET先获取TextBox1.NamingContainer,其值为页面本身(最后生成的xxxx_aspx类实例),再向下递归寻找相应ID的控件,所以一样能找到Button1。