C# Orchard CMS:向内容/列表添加过滤器

C# Orchard CMS:向内容/列表添加过滤器,c#,filtering,orchardcms,C#,Filtering,Orchardcms,我正在尝试向Orchard中的内容列表(admin/Contents/list)添加一个额外的过滤器选项。我从按内容类型复制现有过滤器开始,现在已经能够显示新的过滤器列表、填充它,等等 在内容的AdminController中,有一个名为List的ActionResult方法,它在初始加载时以及post后(通过重定向)调用,post似乎是生成查询的地方。查看内容类型的现有过滤器,我发现: query = query.ForType(model.TypeName); 我在这里有点困惑的是,如何将

我正在尝试向Orchard中的内容列表(admin/Contents/list)添加一个额外的过滤器选项。我从按内容类型复制现有过滤器开始,现在已经能够显示新的过滤器列表、填充它,等等

在内容的AdminController中,有一个名为List的ActionResult方法,它在初始加载时以及post后(通过重定向)调用,post似乎是生成查询的地方。查看内容类型的现有过滤器,我发现:

query = query.ForType(model.TypeName);
我在这里有点困惑的是,如何将这个示例扩展到按内容项的区域设置(文化)进行查询。使用.ForPart方法有意义吗?虽然在这里我需要小心,因为在默认视图中我只想显示“en”-但我还想显示没有本地化部分的任何项目(与我实际按特定区域性过滤时相反-然后不想显示没有本地化部分的项目)

我已经通读了下面的内容,但这些似乎都不能解决我的具体情况(除非我读错了一个)

  • 无数其他人

如果有人能给我指点去哪里看,我将不胜感激

如果指定了区域性,您可以添加
query=query.Where(x=>x.Culture==“en”)
,在其他情况下不调用它。

多奇怪啊-昨天发布问题后,我开始玩一些不同的选项,包括查看本地化服务中的过滤是如何进行的-但由于某种原因,当我尝试使用类似于上面的东西时,它没有起作用。但是,如果我将其更改为:“query=query.Where(x=>x.CultureId==CultureId);”事实证明,我在其他地方的代码中有一个错误,导致cultureId设置不正确。谢谢