Kentico 中继器中的 WHERE 条件

WHERE Condition in the Kentico repeater

我有一个使用中继器显示在 "Events" 页面上的事件列表。每个事件都是一种页面类型,并且有一个字段 "EventStartDateTime"。我只想显示活动开始日期 >= 今天的那些活动。现在在中继器的 WHERE 字段中,我使用以下条件:

(EventStartDateTime >= '{% DateTime.Now #%}') OR (EventStartDateTime = '')

但是页面上看不到任何数据。那是对的吗?

任何帮助将不胜感激。谢谢

我检查了你的代码,它对我来说有点用,但我仍然会像这样修改它:

(EventStartDateTime >= GetDATE()) OR (EventStartDateTime IS NULL)

因为您将 'Date and time' 字段与空字符串进行比较的第二部分不正确。因此,在您的情况下,如果 'EventStartDateTime' 没有为每个项目填充,您将不会获得任何数据。如果不是这种情况,您应该尝试删除 WHERE 条件并检查是否在没有它的情况下获取数据。

此致, 德拉戈鲁布

您的语句将像这样使用宏:

(EventStartDateTime >= '{% CurrentDateTime.ToShortDateString() %}')

您的第二个条件将不起作用,因为您的 EventStartDateTime 字段(假设)是 DateTime 对象,因此检查空字符串将不起作用。您需要检查 NULL.