我的页面中有一些文本框。我想获取数组中的所有文本框值并插入到数据库表中。
是否可以选择循环工作
答案 0 :(得分:11)
public IEnumerable<string> AllTextsFromTextboxes()
{
foreach (var control in Page.Controls.OfType<TextBox>())
{
yield return control.Text;
}
}
答案 1 :(得分:1)
如果所有文本框都在页面上直接
,你可以在这些行上尝试一些东西foreach(Control c in Page.Controls)
{
if (c is TextBox)
{
//get the text
}
}
这对于子控件不起作用,你必须递归迭代
答案 2 :(得分:1)
是的,您可以将控件放在面板中,然后迭代并获取值。 e.g。
foreach (Control ctrl in Panel1.Controls)
{
if (ctrl.GetType().Name == "TextBox")
{
if (((TextBox)ctrl).Text != string.Empty)
{
// do stuff here
}
}
}
答案 3 :(得分:1)
private void FindSelecedControl(Control control)
{
if (control is TextBox)
{
TextBox txt = (TextBox)control;
txt.Enabled = false;
}
else
{
for (int i = 0; i < control.Controls.Count; i++)
{
FindSelecedControl(control.Controls[i]);
}
}
}
foreach (Control control1 in this.Form.Controls)
{
FindSelecedControl(control1);
}