FindControl 无法找到控件问题解决方案

若用 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。

详细出处参考:http://www.jb51.net/article/29388.htm

上一篇:解决父类加载iframe,src参数过大导致加载失败


下一篇:深入浅出ES6(七):箭头函数 Arrow Functions