繁体   English   中英

如何在循环中获取多个文本框的值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM