0

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并检查它们感到困惑......

4

2 回答 2

2

尝试这个:

int i = 0;

foreach (Control c in this.Controls)
{
   if (c is TextBox)
    {
       i++;
       ((TextBox)c).Text = CleanInput(((TextBox)c).Text);
    }
}
于 2015-07-06T20:09:04.610 回答
1

如果所有 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) ;
   }
}
于 2015-07-06T20:13:11.553 回答