【问题标题】:How do I do a FOREACH loop on specific controls on my web form?如何在我的 Web 表单上的特定控件上执行 FOREACH 循环?
【发布时间】:2013-06-26 22:41:17
【问题描述】:

这基本上是我想做的:

foreach (checkbox cbx in Controls.Checkboxes)
{
    if (checkbox.checked)
       {
            //code
       }
}

在我的网页上,有 2 个复选框。我想为页面上的每个选定项目运行一个进程。

【问题讨论】:

  • 你应该可以使用OfType,例如Controls.OfType<CheckBox>()
  • 是的,你可以按照@sa_ddam213 所说的去做。但是您最好只创建一个 List 并将您的复选框添加到该列表中,这样如果您添加更多不想被循环的复选框,它将支持它。

标签: c# asp.net foreach web-controls


【解决方案1】:

如果我正确理解您的问题,您希望遍历 checkboxlist 控件的每个复选框并获取值。

如果是这样,这里有一个例子。

<asp:CheckBoxList runat="server" ID="CheckBoxList1">
    <asp:ListItem Text="One" Value="1" />
    <asp:ListItem Text="Two" Value="2" />
    <asp:ListItem Text="Three" Value="3" />
</asp:CheckBoxList>
<asp:Button runat="server" ID="Button1" Text="Submit" OnClick="Button1_Click" />

protected void Button1_Click(object sender, EventArgs e)
{
    foreach (ListItem item in CheckBoxList1.Items)
    {
        if (item.Selected)
        {
            string text = item.Text;
            string value = item.Value;
            // Do something
        }
    }
}

如果您询问单个复选框,请单击我之前编辑的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 2018-03-26
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多