为什么我的文本框没有被计数?

本文关键字:我的 文本 为什么 | 更新日期: 2023-09-27 18:01:20

我试图改变Text在我的TextBoxes的形式,但我无法找到如何解释我所有的TextBoxes没有单独做他们…

我试过下面的代码;但是,我的int i返回0

int i = 0;
foreach (Control c in this.Controls)
{
    if (c.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
    {
        i++;
        ((TextBox)c).Text = CleanInput(((TextBox)c).Text);
    }
}

我只是对如何抓取我所有的TextBoxes和检查他们感到困惑…

为什么我的文本框没有被计数?

试试这个:

int i = 0;
foreach (Control c in this.Controls)
{
   if (c is TextBox)
    {
       i++;
       ((TextBox)c).Text = CleanInput(((TextBox)c).Text);
    }
}

如果所有的textbox都不是"this"的子元素,则使用递归方法:

CleanTextBoxes(this)
private void CleanTextBoxes(Control TheControl)
{ 
  foreach (Control c in TheControl.Controls)
  {
    if (c is TextBox) ((TextBox)c).Text = CleanInput(((TextBox)c).Text);
    else CleanTextBoxes(c) ;
   }
}