需要使用 Umbraco 在 Razor 中显示每个类别的前 n 项

Need to display first n items from each category in Razor using Umbraco

我是 Umbraco 的新手。我在名为视频的内容中有一个项目列表。每个项目都有一个特定的类别。我需要从每个类别中检索 'n' 个项目。有人请帮忙。我也在使用 MixItUp jquery 插件来显示项目。

// this will bring up all items from the list
    var items = Umbraco.TypedContent(Model.Content.Id).Children.Where(x => x.DocumentTypeAlias == "videoItem" && x.IsVisible());

// Here am trying to bring 5 items under category "Testimonial"

    var allItems = items.Where(x => x.GetPropertyValue("category") == "Testimonial").Take(5);

但是我没有找到任何输出。请帮忙。

您的第二行代码应为:

var allItems = items
    .Where(x => x.GetPropertyValue<string>("category") == "Testimonial")
    .Take(5);

这不是简单地将结果转换为字符串,而是尝试将对象转换为所需类型(如果尚未转换)- see here.

如果您使用的是新的 ModelsBuilder(非常棒),您还可以选择强类型化整个过程。

var items = Model.Content.Children<VideoItem>().Where(x => x.IsVisible());

var allItems = items.Where(x => x.Category == "Testimonial").Take(5);