2010-02-05 16 views
6

(Kullanılması son MVC 2 RC 2) ... Bir elemanın özniteliğin değerine göre LINQ (C#) bazı XML sıralamakLINQ C# içinde XML bir özellik değerine göre nasıl sıralanır? Ayrıca MVC

var sites = from s in xDoc.Element("sites").Elements("site") 
orderby s.Attribute("name") 
select s; 

çalışıyorum Ama ediyorum benim Görüntüle I bu geçerken

Exception Details: System.ArgumentException: At least one object must implement IComparable. 
Source Error: 
Line 37:    </th> 
Line 38:   </tr> 
Line 39:   <% foreach (var item in Model) 
Line 40:    { %> 
Line 41:   <tr> 

birisi nasıl LINQ kullanarak XML sıralamak için bana söyleyebilir ve düzgün hale gelmiş: istisna olsun?

cevap

12

DÜZENLEME: Tamam, sen sadece istediğiniz düşünüyorum: aynı zamanda yazılmış olabilir

var sites = from s in xDoc.Element("sites").Elements("site") 
      orderby (string) s.Attribute("name") 
      select s; 

:

var sites = xDoc.Element("sites") 
       .Elements("site") 
       .OrderBy(s => (string) s.Attribute("name")); 
+0

Maalesef, evet, ben yanlış bir parça kopyaladığı bir doğru konum Gönderiye kod! Argh. Şimdi düzeltdim. –

+0

'site' değişkeni benim görüşüme geçirdiğim değer, örn .: return View (site); –

+0

@Matt: Righto - düzenlenmiş. –

İlgili konular