2010-10-26 128 views
3

我在sitefinity中有一個函數,它返回一個類別列表。如何訂購清單

//return list of categories 
    private IList<ICategory> GetCategoryDataSource() { 

     var cntManager = new ContentManager(CaseStudyManager.DefaultContentProvider); 
     IList allCategories = cntManager.GetCategories(); 
     List<ICategory> filteredList = new List<ICategory>(); 
     foreach (ICategory category in allCategories) { 

      filteredList.Add(category); 

     } 
     return filteredList; 
    } 

我想知道的是如何對這個列表進行排序。

Sitefinity中的類別只要我可以告訴一個字符串,沒有其他字段與類別相關聯。因此,我沒有什麼可對類別,不是追加每個分類均具有一個數字,像其他排序:

1 - Legal 
2 - Financial 
3 - Property 

當這些類別顯示在網站上,我可以那麼至少修剪我需要的部分。

任何人都可以幫助排序嗎?

感謝 鋁

+0

這不能回答你的問題,但你可以刪除你的foreach/add語句並將其替換爲:filteredList.AddRange(allCategories) – Dismissile 2010-10-26 16:09:28

+6

ICategory接口中沒有其他屬性?沒有可用的Id或CategoryId? '返回filteredList.OrderBy(x => x.CategoryId).ToList()' – Martin 2010-10-26 16:10:00

回答

0

如果你的名字他們像你所說,用一個前綴,你可以這樣做:

001 | XXXXXXX

002 | djskdjskd

003 | sdkdsajdaks

foreach (ICategory category in allCategories) 
{    
    filteredList.Add(category.SubString(4);   
}