我正在尝试更改表单中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
并检查它们感到困惑......
答案 0 :(得分:2)
试试这个:
int i = 0;
foreach (Control c in this.Controls)
{
if (c is TextBox)
{
i++;
((TextBox)c).Text = CleanInput(((TextBox)c).Text);
}
}
答案 1 :(得分:1)
如果所有TextBox都不是"这个"的孩子,请使用递归方法:
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) ;
}
}