gpt4 book ai didi

c# - 如何在 C# 中将 lambda 表达式与 asp.net DataList 一起使用

转载 作者:行者123 更新时间:2023-11-30 15:51:13 26 4
gpt4 key购买 nike

我在 aspx 文件上创建了一个 DataList,其中包含基于从数据库中提取的数据重复的复选框控件。

我想获取 DataList 项目并处理它,我已经使用了 foreach 循环,但我想使用 lambda 选择和过滤项目。

我无法将 DataList.items 转换为列表或数组。有 DataList.items.CopyTo 但它复制到 Array 对象并且无法转换为 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();

最佳答案

你可以用这个 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>

关于c# - 如何在 C# 中将 lambda 表达式与 asp.net DataList 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57675829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com