Votre code derrière a probablement quelque chose comme ça, pour que vous puissiez accéder aux éléments dans votre balisage ASPX:
public Item[] DataItems { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
// get your list
DataItems = new[]
{
new Item{ ApplicationName = "Test", Url = new Uri("http://test.com/Home")},
new Item{ ApplicationName = "Test", Url = new Uri("http://test.com")},
new Item{ ApplicationName = "Test 2", Url = new Uri("http://test2.com/Home")},
new Item{ ApplicationName = "Test 2", Url = new Uri("http://test2.com/")},
};
}
ensuite dans votre fichier ASPX, il suffit de jeter dans certains LINQ dans le mélange pour effectuer l'opération de regroupement :
<ul>
<% foreach (var aggregateItem in (from item in DataItems
group item by item.ApplicationName
into groupedItem
select new { Name = groupedItem.Key, Items = groupedItem })) %>
<% { %>
<li><strong><%= aggregateItem.Name%></strong>
<ul>
<% foreach (var subItem in aggregateItem.Items) %>
<% { %>
<p>
<a href="<%= subItem.Url %>"><%= subItem.Url %></a>
</p>
<% } %>
</ul>
</li>
<% } %>
</ul>
Pourriez-vous indiquer si vous utilisez mvc ou webforms; ou autre chose? De cette façon, il est plus facile de câbler un exemple. – Thomas
Il s'agit de simples formulaires Web. – Ashish