2013-06-26 31 views
-1

這基本上就是我想做的事:如何在我的Web表單上的特定控件上執行FOREACH循環?

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

在我的網頁上,有2個複選框。我想爲頁面上的每個選定項目運行一個進程。

+1

你應該可以使用'OfType',例如'Controls.OfType ()' –

+0

是的,你可以做什麼@ sa_ddam213說。但是,創建列表並將複選框添加到該列表中可能會更好,因此如果添加更多不希望被循環的複選框,它將支持該列表。 – mason

+0

如果只有兩個,那麼可以將邏輯置於'if'語句的自己的方法中,然後對每個語句調用'if(checkBoxName.Checked)SomeMethodToRun();'。 –

回答

0

如果我正確理解你的問題,你想循環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 
     } 
    } 
} 

如果您詢問個別複選框,請單擊我之前編輯的答案。

相關問題