有6个TEXTBOX,命名规则是txtn1,txtn2,txtn3...我想循环判断如果哪个为空则报错,代码如下:for (i = 1; i < 7; i++)
{
Control txt = new TextBox();
txt = this.Controls["txtn" + i.ToString()];
if(txt.text=="") {
messagebox.show();
}
}现在的问题就是红字部分提示空引用异常,然后我就NEW,赋值,变量TXT始终是空的,不知道为什么。强调一下TEXTBOX里面是有内容的,不为空。
{
Control txt = new TextBox();
txt = this.Controls["txtn" + i.ToString()];
if(txt.text=="") {
messagebox.show();
}
}现在的问题就是红字部分提示空引用异常,然后我就NEW,赋值,变量TXT始终是空的,不知道为什么。强调一下TEXTBOX里面是有内容的,不为空。
解决方案 »
- 打包应用程序如何带验证功能
- 等設計開發winForm報表的高手進來指點(在線等.....Thx)-------如何用一個frm和一個class報表整合一系列有異同點的報表問題!
- 保存文件后,如何更改保存文件的图标?
- webservice...自定义对象数组的问题.....高分酬谢!!!
- C# +ACCESS更新问题
- VS2003搭配哪个建模工具?
- C#如何访问inf文件,有固定函数么?达人帮忙------!
- 关于word中域的值的取出的和修改
- 基础知识:类的应用、数据的传递
- 初学MS C# Windows程序设计(Charles Petzold),找几个老师
- 1个正则问题
- 如何通过一个应用程序更改另个应用程序的版本号?
{
TextBox txt = new TextBox();
txt = (TextBox)this.FindControl("txtn" + i.ToString());
if(txt.Text=="") {
messagebox.show();
}
} 这样试试
我用的VS2005没有FINDCOUNTROL,只有CONTROLS属性
for (i = 1; i < 7; i++)
{
Control txt = this.Controls["txtn" + i.ToString()];
if(txt.text=="")
{
messagebox.show();
}
}
这样的代码没啥问题
确保你的TextBox的Name是txtn1...txtn6报错是因为你的Controls里面的Key值不对,也就是没找到这个Control,跟TextBox里面有没有内容没关系
2.判断可以加个 if(txt==null || string.IsNullOrEmpty(txt.Text))
this.Controls["txtn" + i.ToString()]这个值是空的,名字没有起错,不知道为什么为空....