以编程方式检索可以分配给Episerver中的页面的类别

时间:2014-04-12 06:44:23

标签: c# content-management-system categories episerver

有没有人知道如何以编程方式检索可以分配给 Episerver 中的网页的类别? C#是我正在使用的编程语言,但VB中的一个例子也可以。

3 个答案:

答案 0 :(得分:3)

如果您在CMS中定义的所有类别之后,则首先获取根类别及其所有子类别。

Category rootCategory = Category.GetRoot();
CategoryCollection childCategories = rootCategory.Categories;
foreach (Category category in childCategories)
{
    // do whatever
}

如果您只想检索当前页面上选择的类别,则迭代当前页面上的Category属性。它返回一个CategoryList对象,其中包含所选类别的ID。

foreach (int catId in CurrentPage.Category)
{
    Category category = Category.Find(catId);
    // do whatever
}

答案 1 :(得分:2)

由于Category.GetRoot()被标记为已废弃,因此根据Episerver 9,此解决方案更为合适:

var categoryRepo = ServiceLocator.Current.GetInstance<CategoryRepository>();
var rootCategory = categoryRepo.GetRoot();
CategoryCollection childCategories = rootCategory.Categories;
foreach (Category category in childCategories)
{
// do whatever
}

答案 2 :(得分:0)