Umbraco 7.2.0 - 使用razor中的where子句获取节点的后代

时间:2015-01-07 15:56:46

标签: razor umbraco umbraco7

我们说我的文件类型包含别名BlogPost,其中包含以下属性:

  • blogTitle(文字字符串)
  • blogDate(DateTimePicker)
  • blogBody(富文本编辑器)

在获取网站中包含的最新5个博客时,我会使用以下代码段:

var blogList = CurrentPage.AncestorOrSelf(1).Descendants("BlogPost").OrderBy("blogDate desc").Take(5);

但是,我正在尝试检索最新的5个博客,其中日期位于特定范围内(例如:2014年12月15日之后)。

我知道您可以将Where子句与String中包含的条件一起使用,但我试图比较两个DateTimes:

Convert.ToDateTime("blogDate") >= new DateTime(2014, 12, 15)

这可能与Where条款有关吗?

1 个答案:

答案 0 :(得分:6)

要执行此操作的代码段如下:

var blogList = CurrentPage.AncestorOrSelf(1).Descendants("BlogPost").
               .Where("blogDate >= @0", new DateTime(2014, 12, 15))
               OrderBy("blogDate desc")
               .Take(5)

此代码段取自以下Umbraco forum topic的回复。