我在 aspx 文件上創建了一個 DataList,其中包含基于從數據庫中提取的數據重復的復選框控件。我想獲取 DataList 項目并對其進行處理,我已經使用了foreach循環,但我想使用 lambda 選擇和過濾項目。我無法將其轉換DataList.items為列表或數組。有DataList.items.CopyTo,但它復制到數組對象并且無法轉換為DataListItem []數組。這就是已經完成的工作:int count = 0;foreach (DataListItem item in weaknesses.Items){ CheckBox weakness = (CheckBox)item.FindControl("cbWeakness"); if (weakness.Checked) { count++; }}這就是我想做的:count = weaknesses.Items.Where(i => ((CheckBox)i.FindControl("cbWeakness")).checked).Count();
1 回答

MYYA
TA貢獻1868條經驗 獲得超4個贊
你可以用這個 lambda 來做到這一點。
int count = DataList1.Items.Cast<DataListItem>().Where(x => ((CheckBox)x.FindControl("CheckBox1")).Checked).Count();
數據列表
<asp:DataList ID="DataList1" runat="server"> <ItemTemplate> <asp:CheckBox ID="CheckBox1" runat="server" /> </ItemTemplate> </asp:DataList>
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報
0/150
提交
取消