首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中通过asp.net DataList使用lambda表达式

如何在C#中通过asp.net DataList使用lambda表达式
EN

Stack Overflow用户
提问于 2019-08-27 21:32:42
回答 1查看 89关注 0票数 3

我已经创建了一个DataList的aspx文件,其中包含复选框控件,重复从数据库中拉出的数据为基础。

我想要获取DataList项并对其进行处理,我已经使用了foreach循环,但我想使用lambda来选择和过滤项。

我无法将DataList.items转换为列表或数组。有数组,但它复制到数组对象,无法转换为DataListItem []数组。

这就是我们所做的:

代码语言:javascript
复制
int count = 0;

foreach (DataListItem item in weaknesses.Items)
{
    CheckBox weakness = (CheckBox)item.FindControl("cbWeakness");
    if (weakness.Checked)
    {
        count++;
    }
}

这就是我想要做的:

代码语言:javascript
复制
count = weaknesses.Items.Where(i => ((CheckBox)i.FindControl("cbWeakness")).checked).Count();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-27 21:53:50

您可以使用这个lambda来做到这一点。

代码语言:javascript
复制
int count = DataList1.Items.Cast<DataListItem>().Where(x => ((CheckBox)x.FindControl("CheckBox1")).Checked).Count();

The DataList

代码语言:javascript
复制
<asp:DataList ID="DataList1" runat="server">
    <ItemTemplate>
        <asp:CheckBox ID="CheckBox1" runat="server" />
    </ItemTemplate>
</asp:DataList>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57675829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档