注意: 在使用FindControl时,一定要在最贴近查找对象的外边加上个容器,如果你直接用this.FindControl,或Page.FindControl那么就会经常出现未将对象设置到实例 的错误,所以最好加一个容器,那么这里加的DIV就是一个容器,为了让FindControl在ID为"TextBoxs"的DIV内去找名为com1,com2,com3的TextBOx;
<div id="TextBoxs" runat="server">
<asp:TextBox ID="com1" runat="server" ></asp:TextBox>
<asp:TextBox ID="com2" runat="server" ></asp:TextBox>
<asp:TextBox ID="com2" runat="server" ></asp:TextBox>
</div>
假如数据库中字段comname的存储方法为:"图片,图书,教程"中间有豆号
string[] comArray=dr["comname"].tostring().split(',');
foreach(int i = 0;i<comArray.Lenth;i++)
{
((TextBox)this.TextBoxs.FindControl("com"+(i+1).tostring())).text=comArray[i].tostring();
}
好,那现在就完成了
本文介绍了一个实用的技巧,即如何正确地使用ASP.NET中的FindControl方法来动态操作页面上的控件。通过在一个特定的容器(如DIV)内使用此方法,可以有效避免因对象实例化问题导致的错误,并实现对多个TextBox控件的有效管理。
521





