Sitecore 自定义个性化条件的NULL属性值

Sitecore 自定义个性化条件的NULL属性值,sitecore,rule-engine,sitecore8,personalization,Sitecore,Rule Engine,Sitecore8,Personalization,我需要为个性化设置创建一个自定义条件,以检查是否已经过了特定的时间(没有日期)。 因此,我创建了新类,如下所示: public class TimePassedCondition<T> : Sitecore.Rules.Conditions.OperatorCondition<T> where T : RuleContext { public string SelectedTime { get; set; } protected override b

我需要为个性化设置创建一个自定义条件,以检查是否已经过了特定的时间(没有日期)。 因此,我创建了新类,如下所示:

public class TimePassedCondition<T> : Sitecore.Rules.Conditions.OperatorCondition<T> where T : RuleContext
{
     public string SelectedTime { get; set; }

     protected override bool Execute(T ruleContext)
     {
        //TODO: Add Logic
        return false;
    }
}
公共类TimePassedCondition:Sitecore.Rules.Conditions.OperatorCondition其中T:RuleContext
{
公共字符串SelectedTime{get;set;}
受保护的覆盖布尔执行(T规则上下文)
{
//TODO:添加逻辑
返回false;
}
}
然后我在中添加了一个新的条件定义

Sitecore/System/Settings/Rules/Elements/Date/
我给了它以下的文字:
当[SelectedTime,DateTime,,the time]已过时
我还向所需组件添加了新的个性化条件和操作。 因此,当我调试并打开页面时,断点会被命中

但是,我的问题是,根据我在几篇文章中读到的内容,
SelectedTime
属性应该用我创建个性化条件时选择的日期时间填充,但对我来说它总是空的

我错过了什么


注意:这是Sitecore 8.1,完全清除个性化条件并重建它们


个性化设置以XML形式存储在
元素中,其属性名称反映了存储变量名称。如果在规则文本中重构基础存储变量,则会出现问题-它们不保持同步,并且在规则运行时不会被映射。

您是否尝试在您的条件中将SelectedTime声明为DateTime?是。我得到了默认值:
“1/1/0001 12:00:00 AM”
我看起来差不多正确。您确定已在您正在测试的条件的实例上设置并发布日期时间吗?您是否在设置一些初始个性化设置后修改了条件?完全清除个性化设置,重建它,然后发布。该死的。。。。。谢谢@JimNoellsch。我清除并重建了这些条件,一切正常。请在下面添加您的解决方案