为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
叮当猫咪 2023-09-24 16:10:32
我在 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>


查看完整回答
反对 回复 2023-09-24
  • 1 回答
  • 0 关注
  • 54 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信