[英]how to get value of more than one text box in a loop
我的页面上有一些文本框。 我想获取数组中所有文本框的值,然后插入数据库表中。
有没有选择循环工作
public IEnumerable<string> AllTextsFromTextboxes()
{
foreach (var control in Page.Controls.OfType<TextBox>())
{
yield return control.Text;
}
}
如果所有文本框都直接在页面上,则可以在这些行上尝试操作
foreach(Control c in Page.Controls)
{
if (c is TextBox)
{
//get the text
}
}
这不适用于子控件,因为您必须递归迭代
是的,您可以将控件放在面板中,然后进行迭代并获得价值。 例如
foreach (Control ctrl in Panel1.Controls)
{
if (ctrl.GetType().Name == "TextBox")
{
if (((TextBox)ctrl).Text != string.Empty)
{
// do stuff here
}
}
}
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.