Well, let's think of the problem in a different way, shall we?
You're displaying a list of watches with a category. So...group by category, and then sort by whatever is relevant.
I don't have an IDE with me...but something like this should work:
var watches = from w in datacontext.Watches
group w by w.Category into g
select new Watch { Category = g.Key, Watches = g };
Now, your watches variable contains x groups of watches (however many categories you have).
You can iterate over this list with a simple
foreach
as such:
foreach (watchGroup in watches)
{
foreach (watch in watchGroup.Watches)
{
}
}
Of course, you'll need to wrap the iteration part above in the appropriate <% %> tag syntax if you're using it on the page. In MVC, you can store the groups into your model on the page or even in the ViewBag.
EDIT: you can get more infos on LINQ here:
MSDN[
^]
Cheers.