2014-01-07 109 views
5

我試圖找到一種方法來循環所有ASP佔位符中的「複選框」類型的控件,然後在循環中執行一些操作。通過Placholder中的複選框循環

問題是我無法訪問控制......這裏是我迄今爲止...

string selections = ""; 

foreach (CheckBox ctrl in phProductLines.Controls.OfType<CheckBox>) 
{ 
    selections += ctrl.Text + ", ";    
} 

但我得到的錯誤 - 「的foreach不能在法工作組」 。

任何幫助將不勝感激。

謝謝。

回答

7

OfType是一個方法,所以你必須添加()

foreach (CheckBox ctrl in phProductLines.Controls.OfType<CheckBox>()) 
{ 
    // ... 
} 

順便說一句,你可以使用LINQ和String.Join得到您想要的結果:

string result = string.Join(", ", phProductLines.Controls.OfType<CheckBox>() 
      .Select(chk => chk.Text)); 

如果你只想要Checked複選框:

string result = string.Join(", ", phProductLines.Controls.OfType<CheckBox>() 
      .Where(chk => chk.Checked) 
      .Select(chk => chk.Text));