2010-10-27 26 views
0

J'ai une liste d'éléments que je suis en train de récupérer et que je souhaite regrouper en divs en fonction du nom commun qu'un ensemble d'éléments de la liste peut avoirVous cherchez à regrouper des éléments spécifiques d'une liste basée sur des noms utilisant linq, html helper

disons par exemple une liste des premiers noms que j'ai.

Je voudrais être en mesure de créer une div dynamiquement en fonction des attributs communs des éléments.

id 23 fistname darren id 37 fistname darren id 67 fistname darren

id comme pour regrouper tous les prénoms darren dans un div et tous les autres qui partagent les prénoms communs

acclamations

Répondre

0

Je ne connais pas htmlhelper, mais la méthode linq groupby est simple à utiliser:

var firstnamegroups = items.GroupBy(item => item.FirstName); 
0

Je vais vous aider avec la requête seulement, vous pouvez continuer après ce point avec votre code HTML.

données Exemple:

List<Person> list = new List<Person>(); 
list.Add(new Person() { FirstName = "A", ID = 1 }); 
list.Add(new Person() { FirstName = "B", ID = 2 }); 
list.Add(new Person() { FirstName = "B", ID = 3 }); 
list.Add(new Person() { FirstName = "C", ID = 4 }); 

L'expression LINQ:

var result = list.GroupBy(item => item.FirstName); 

Mettez ici votre code HTML:

foreach (var item in result) 
{ 
    string name = item.Key; 
    // Add here the div and use [name] 

    foreach (var person in item) 
     ;// Add here the items in the div 
} 

Bonne chance!