form 上 有 20个 textbox 控件 名字 从 txt1 到 txt20我这样写 想获取他们的值 并判断 结果提示 未将对象引用设置到对象的实例 for (int i = 0; i < 24; i++)
{
if (((TextBox)(this.Controls["txtLimit" + (i + 1).ToString()])).Text.Trim() == "")
{
该如何写呢?
{
if (((TextBox)(this.Controls["txtLimit" + (i + 1).ToString()])).Text.Trim() == "")
{
该如何写呢?
解决方案 »
- 关于WCF服务和WCF数据服务?
- C# winform如何连接sql server 2005数据库
- 在winfrm里,如何判断某一节点是viewtree的第一根节点啊,谢就一个字,说多少次都行
- 小心的请教一个很菜的问题
- 字段的中文名字怎么设置?
- reportviewer
- (100高分求助)在C#中的dataGrid中,如何修改多表查询出来的数据并保存回数据库?
- 如何给表中满足条件的一列同时加上一个数
- 新手问题,c# webform中如何实现主/明细表的分级显示
- 敬请c#高手进来看一下代码,可能有点问题,一定给分。
- 关于treeview drag事件中,在节点下划线,下移正常,而上移有残留痕迹的问题
- 正则表达式的问题?
Dim objCTRLS As Control
For Each objCTRLS In Me.Controls
If TypeName(objCTRLS) = "txt1" Then
objCTRLS.Enabled = True
Else
On Error GoTo NEXTCTRL
objCTRLS.Enabled = False
End If
Next objCTRLS
我就是想取 这20个 textbox text的值 需要这么麻烦么..........
//[]中应该是int数据吧。不可以为String
{
if(c is TextBox&&c.Name=="txtLimit"+count.ToString())
{
TextBox txt=c as TextBox;
}
}
可以是 name 提示上有
{
if (((TextBox)(this.FindControl("txtLimit" + (i + 1).ToString()))).Text.Trim() == "")
{
.....
C#里 没有 findcontrol吧 只看到了 findform
{
AarryList arrylist=new AarryList();
try
{ Queue<Control.ControlCollection> q = new Queue<Control.ControlCollection>();
q.Enqueue(controls); while (q.Count > 0)
{
Control.ControlCollection controlss = (Control.ControlCollection)q.Dequeue();
if (controlss == null || controlss.Count == 0) continue; foreach (Control control in controlss)
{
q.Enqueue(control.Controls);
if (control is TextBox)
{
arrylist.add(control.Text);
}
}
} }
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
}
return arrylist;
}
在.cs文件中
protected void Button1_Click(object sender, EventArgs e)
{
String str = "";
TextBox temp = (TextBox)this.FindControl("TextBox1");
Label1.Text = temp.Text;
...
foreach (Control c in this.Controls)
{
if (c.Name.IndexOf("txtLimit") != -1)
{
TextBox txt = c as TextBox;
MessageBox.Show(txt.Text);
}
}
实在是看不出这样有什么用~~~你这样不等同 Label1.Text = TextBox1.Text 吗?