umbraco - 如何在 Umbraco Collection 上申请Where 条件

标签 umbraco where-clause umbraco7

我想在 Umbraco Collection 上应用 where 条件。

代码:

var workList = CurrentPage.work.ToString().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var workCollection = Umbraco.Content(workList);
@foreach (var item in workCollection.Where("productImage!=\"\"").Skip((i - 1) * iterationCount).Take(iterationCount))

但我总是得到没有过滤器的数据。
ProductImage 是媒体选择器 enter image description here enter image description here

最佳答案

如果你想坚持动态对象,你应该尝试:

var workList = CurrentPage.work.ToString().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var workCollection = Umbraco.Content(workList);
@foreach (var item in workCollection.Where("productImage != null && productImage != string.Empty").Skip((i - 1) * iterationCount).Take(iterationCount)) { ... }

就我个人而言,我更喜欢处理强类型对象,因此另一种解决方案可能是:

var workList = CurrentPage.work.ToString().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var workCollection = Umbraco.TypedContent(workList);
@foreach (IPublishedContent item in workCollection.Where(x => x.HasValue("productImage")).Skip((i - 1) * iterationCount).Take(iterationCount)) { ... }

欲了解更多信息,请查看:https://our.umbraco.org/documentation/reference/templating/mvc/querying .

您还可以检查名为Umbraco Core Property Value Converters的软件包:https://our.umbraco.org/projects/developer-tools/umbraco-core-property-value-converters/它会自动将一些数据类型值转换为易于访问的对象/列表等。媒体选择器值作为 IPublishedContent 模型返回,您可以直接从返回值访问其属性。

关于umbraco - 如何在 Umbraco Collection 上申请Where 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39367478/

相关文章:

c# - Umbraco 应用程序 BeginRequest 从未触发

razor - Umbraco v5如何在razor View 中获取媒体文件URL

seo - Umbraco imagegen.ashx 在 robots.txt 中被禁止,因为图像被阻止搜索

umbraco - Hook Umbraco 表单提交

asp.net-mvc - 被劫持的 Umbraco HttpPost 操作未触发

php - Laravel 4 高级在哪里 - 未知专栏

css - Library.GetMediaById Umbraco 返回奇怪的字符串

mysql - Laravel 4.x,Eloquent 多重条件

mysql - 停留在 WHERE 子句以在 mysql 中检索相关结果

c# - Azure 云服务上的 Umbraco 7.0.2 - 访问路径 'E:\sitesroot\1\config\applications.config' 被拒绝