I'm brand new to .NET 4.5, bootstrap, and LINQ and I've come across an issue I don't know how to handle elegantly. I was hoping somebody could confirm or correct my thought process, and if you're feeling particularly charitable, point me to a resource that could help me achieve my aim.
I'm developing a page on a web app that is going to link to multiple outside applications. The way I've decided to group the apps is by using a bootstrap Tab control, and making each tab a logical group. I've written the LINQ query that returns all of the information about the apps I need (Title, Description, Link, etc.), but now I need to group the results by another field (which we call ContainerID) and put the groups in their proper Repeater control inside the correct Bootstrap tab.
As of now I'm putting one Repeater inside of each tab, which feels a little clunky, but I can't think of a better way to do it. My idea was to do the following:
1) do a foreach loop on the objects returned by the LINQ query
2) inside the foreach loop, write an if statement like "if ContainerID=" then add the result to a list or array and use that as the datasource for the corresponding Repeater and bind it
3) rinse and repeat for however many categories I need.
As I started down this path it looks to me like there's no such thing as a foreach with LINQ, so I'm dead at step 1. Any thoughts on the best way to accomplish my aim? Thanks in advance...
EDIT: I should mention I'm not tied to any of this. If there's a better UI design to accomplish my purpose, I'm all for it. I'm just looking for the cleanest way to implement it.
The results of a linq query is just the query itself. There are no results until you iterate over the result. You should then be able to iterate over the results like this:
var items = Your LINQ Query
foreach(var item in items)
{
if(ContainerID == item.id)
{
//do work
}
}
Or you can do a items.ToList() which will iterate the query and turn it into a list of objects that you can work with. Hope this helps.