2011-02-28 30 views
2

我正在开发一个程序,其中包含30个文本框和30个旁边的复选框。我希望人们检查名称,然后按发送按钮。程序然后将名字保存在一个txt文件中,在它们旁边有一个真或假的声明,然后它将文件上传到一个ftp服务器供我分析。 我面临的问题是我不想为每个文本编写代码,并选中加载并将其值保存在txt文件中的复选框。 如果我将文本框命名为tbox1; tbox2; tbox3等。如何使用循环来说写tbox的值i +; + cbox i on line i thing.txt反之亦然? 请任何帮助将grately apreciated因为这将节省我很多unnesacery代码写作!在C#中使用变量作为文本框名称的一部分#

+0

使用中继器或任何其他控件,允许您复制UI – 2011-02-28 15:05:35

+0

如果您可以使用jquery - 请查看http://sushantp.wordpress.com/2009/02/23/jquery-get-the-checked-and-unchecked-items-from-list -of-复选框/。这使您可以轻松地从页面获取已选中(或未选中)复选框的列表。 – 2011-02-28 15:09:02

+0

感谢这看起来不错,但在这种语言中还没有走得很远,所以这仍然比我高。 – Gerharddc 2011-03-01 13:01:18

回答

2
 for (int i = 0; i <= count; i++) 
     { 
      TextBox textbox = (TextBox)Controls.Find(string.Format("tbox{0}", i),false).FirstOrDefault(); 
      CheckBox checkbox = (CheckBox)Controls.Find(string.Format("cbox{0}", i),false).FirstOrDefault(); 

      string s = textbox.Text + (checkbox.Checked ? "true" : "false"); 
     } 
+0

这是否为C#,因为它会产生构建错误? – Gerharddc 2011-02-28 15:58:10

+0

抱歉,那一刻没有IDE。 – Stecya 2011-02-28 16:48:23

+0

谢谢,这正是我所需要的,但是要感谢所有给我答复的人! – Gerharddc 2011-03-01 04:07:11

1

您可以遍历表单上的所有控件,并根据它们的类型/名称从它们中检索值。

4

您应该创建一个List<TextBox>,并在构造函数中用您的文本框填充它。

然后,您可以遍历列表并处理文本框。

0

假设这是ASP.NET,你可以使用这样的事情:

StringBuilder sb = new StringBuilder(); 
for(int i = 1; i < 30; i++){ 
    TextBox tb = FindControl("TextBox" + i); 
    Checkbox cb = FindControl("CheckBox" + i); 
    sb.AppendFormat("TextBox{0}={1}; {2}", i, tb.Text, cb.Checked); 
} 
string result = sb.ToString(); 
// Now write 'result' to your text file. 
0

遍历控制在你的窗体/控件和调查名称:

 foreach (Control control in f.Controls) 
     { 
      if (control is TextBox) 
      { 
       //Investigate and do your thing 
      } 
     } 
相关问题