0

我是 .NET 4.5、bootstrap 和 LINQ 的新手,遇到了一个我不知道如何优雅处理的问题。我希望有人能证实或纠正我的思维过程,如果你觉得特别慈善,请向我指出可以帮助我实现目标的资源。

我正在一个 Web 应用程序上开发一个页面,该页面将链接到多个外部应用程序。我决定对应用程序进行分组的方式是使用引导选项卡控件,并使每个选项卡成为一个逻辑组。我已经编写了 LINQ 查询,它返回有关我需要的应用程序的所有信息(标题、描述、链接等),但现在我需要按另一个字段(我们称为 ContainerID)对结果进行分组并将这些组在正确的引导选项卡内的正确中继器控件中。

到目前为止,我在每个选项卡中都放置了一个中继器,感觉有点笨拙,但我想不出更好的方法来做到这一点。我的想法是执行以下操作:

1) 对 LINQ 查询返回的对象执行 foreach 循环
2) 在 foreach 循环内,编写一个 if 语句,如“if ContainerID=”,然后将结果添加到列表或数组中,并将其用作相应中继器的数据源并绑定它
3)冲洗并重复我需要的许多类别。

当我开始走这条路时,在我看来,LINQ 没有 foreach 这样的东西,所以我在第 1 步就死了。关于实现目标的最佳方法有什么想法吗?提前致谢...

编辑:我应该提到我不依赖于任何这些。如果有更好的 UI 设计来实现我的目的,我完全赞成。我只是在寻找最干净的方法来实现它。

4

1 回答 1

0

linq 查询的结果只是查询本身。在您迭代结果之前没有结果。然后,您应该能够像这样迭代结果:

var items = Your LINQ Query

foreach(var item in items)
{
  if(ContainerID == item.id)
  {
     //do work
  }
}

或者您可以执行 items.ToList() 来迭代查询并将其转换为您可以使用的对象列表。希望这可以帮助。

于 2014-08-08T20:59:22.497 回答