Поиск новых и обновленных страниц в EpiServer

У меня есть требование отображать списки вновь созданных и обновленных страниц в нашей интрасети Episerver - скажем, последние десять страниц каждой. Я пытался использовать FindPagesWithCriteria, но это не дало результатов. Вот код, который я пробовал:

PageDataCollection recentPages;
PropertyCriteriaCollection criteria;
PropertyCriteria upperBound;
PropertyCriteria lowerBound;

criteria = new PropertyCriteriaCollection();

upperBound = new PropertyCriteria();
upperBound.Condition = CompareCondition.LessThan;
upperBound.Type = PropertyDataType.Date;
upperBound.Value = DateTime.Today.ToString();
upperBound.Name = "Created"; // Or Saved for updated pages

criteria.Add(upperBound);

lowerBound = new PropertyCriteria();
lowerBound.Condition = CompareCondition.GreaterThan;
lowerBound.Type = PropertyDataType.Date;
lowerBound.Value = DateTime.Today.AddDays(-7).ToString();
lowerBound.Name = "Created";

criteria.Add(lowerBound);

recentPages = DataFactory.Instance.FindPagesWithCriteria(PageReference.StartPage, criteria);

Я также пытался использовать RecentlyChangedPagesFinder (как подробно описано здесь) — это возвращает некоторые результаты, но когда я пытаюсь использовать набор результатов для создания PageCollection для привязки данных к PageList, я снова ничего не получаю. И я не вижу возможности использовать это для новых страниц, только для обновленных.


person PhilPursglove    schedule 30.10.2010    source источник


Ответы (1)


Имя свойства должно быть «PageCreated».

http://epiwiki.se/developing/properties/all-built-in-properties

Вы также можете улучшить синтаксис FindPagesWithCriteria, выполнив что-то вроде этого:

var criterias = new PropertyCriteriaCollection
{
    new PropertyCriteria()
    {
        Name = "SomeProp",
        Type = PropertyDataType.PageType,
        Value = "eh",
        Condition = CompareCondition.Equal,
        Required = true
    },
    new PropertyCriteria()
    {
        ...
};

var pages = DataFactory.Instance.FindPagesWithCriteria(somePageLink, criterias);
person Johan Kronberg    schedule 31.10.2010
comment
Следует отметить, что использование FindPagesWithCriteria часто попадает в БД и может вызвать проблемы с производительностью. - person Rexxo; 27.07.2016