我已经创建了一个DataList的aspx文件,其中包含复选框控件,重复从数据库中拉出的数据为基础。
我想要获取DataList项并对其进行处理,我已经使用了foreach循环,但我想使用lambda来选择和过滤项。
我无法将DataList.items转换为列表或数组。有数组,但它复制到数组对象,无法转换为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();发布于 2019-08-27 21:53:50
您可以使用这个lambda来做到这一点。
int count = DataList1.Items.Cast<DataListItem>().Where(x => ((CheckBox)x.FindControl("CheckBox1")).Checked).Count();The DataList
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:DataList>https://stackoverflow.com/questions/57675829
复制相似问题