问题描述
假如我想把10个TextBox文本框赋值for(i=0;i<10;i++){"TextBox"+i.text=值}像这样,如何把"TextBox"+i连接成一个控件名,并且可以使用
解决方案
解决方案二:
这样不行的,字符串是不能转换为System.Windows.Forms.TextBox类型的可以定义一个System.Windows.Forms.TextBox[]数组,把所有的textbox对象添加到这个数组中,然后遍历数组,赋值
解决方案三:
1.你可以定义一个List<TextBox>,添加文本框的时候,顺便把它add进List里去2.你可以不管它到底叫什么,用之前,先遍历窗体,找到每个文本框的name,然后对应了操作3.你的代码有问题,这样根本不可以,应该像这样:for(inti=0;i<10;i++){TextBoxnewTextBox=newTextBox();newTextBox.Name=Text+i;List1.Add(newTextBox);}
解决方案四:
参考这篇的方法,找到了,就可以赋值了。
解决方案五:
vartb=this.FindControl("id")asTextBox;if(tb!=null){tb.Text="demo";}
解决方案六:
for(i=0;i<10;i++){TextBoxabcd=this.FindControl("TextBox"+(i))asTextBox;}
解决方案七:
for(inti=0;i<10;i++){TextBoxabcd=this.FindControl("TextBox"+(i+1))asTextBox;abcd.Text=i.ToString();}
解决方案八:
用jquery选择器一次搞定不可以吗?
解决方案九:
你肯定是想遍历页面上所有的textbox服务端控件,你这种做法,编译器都过不了,是不可行的,你可以通过controls对象的什么findcontrol方法,来找到所有的控件,然后遍历,判断是否是textbox类型的控件,如果是就做你想要的操作!--!弱弱的说下正式项目你这种写法,及时最终让你实现了,也是会被喷的!而且效率极低(开发,维护,运行)