gpt4 book ai didi

c# - 嵌套在动态创建的 CheckBoxList 中的 foreach

转载 作者:行者123 更新时间:2023-11-30 17:56:40 25 4
gpt4 key购买 nike

我有一个动态创建的 CheckBoxList。在这个 CheckBoxList 中,我有一个嵌套的 foreach 循环用于验证用户输入。用户输入他或她的电子邮件地址。用户单击提交后,将创建 CheckBoxList。如果用户的电子邮件与某个主题的订阅相匹配,则该主题旁边的复选框会被选中。我遇到的问题是将原始外部 foreach 与嵌套 foreach 相关联。

int i = 0;
foreach (Topic topic in result)
{
string topicName = topic.TopicArn.ToString().Split(':').Last();
ListItem li = new ListItem(topicName, topic.TopicArn);
checkBoxList1.Items.Add(li);

foreach (Subscription subscription in subs) // where topic equals current
// topic in original foreach?
{
if (txtEmail.Text == subscription.Endpoint)
checkBoxList1.Items[i].Selected = true;
}
i++;
}

我在想我也许可以使用 LINQ 向 nested foreach 循环添加一个条件,但我还没有能够将它们整合在一起。

最佳答案

您必须先创建所有复选框,然后才能开始评估是否应选中它们。在上面的代码中,您创建了一个 Listitem,然后遍历所有订阅,这样它就会在该循环中超出范围,然后再在复选框列表中创建第二个 listitem。

 foreach (Topic topic in result)
{
string topicName = topic.TopicArn.ToString().Split(':').Last();
ListItem li = new ListItem(topicName, topic.TopicArn);
li.Selected = subs.Any(s => s.Endpoint == txtEmail.Text && s.TopicArn == topic.TopicArn);
checkBoxList1.Items.Add(li);
}

关于c# - 嵌套在动态创建的 CheckBoxList 中的 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13958822/

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