Ektron:如何更改Framework API的默认页面大小?

时间:2015-01-13 15:32:05

标签: ektron

我注意到,当从框架API中提取内容时,默认页面大小为50.我尝试调整“ek_PageSize”AppSetting,但这似乎不会影响API。

基本上在我的所有代码中,我需要创建一个新的PaginInfo对象来更新返回的项目数。

var criteria = new ContentTaxonomyCriteria(ContentProperty.Id, EkEnumeration.OrderByDirection.Descending);
criteria.PagingInfo = new PagingInfo(100);

有没有人知道是否有办法更改默认值(对于整个网站)而无需在每次调用的条件上修改PagingInfo对象?

2 个答案:

答案 0 :(得分:0)

web <.config中的页面大小应用程序设置我相信也控制此默认页面大小。但要注意,因为这也会改变工作区内的页面大小。

因此,如果您将其设置为100,那么您将在每页上看到100个用户,内容项,别名等,而不是默认的50个。

答案 1 :(得分:0)

您可以创建一个用于创建条件对象的工厂方法。然后,您将调用此工厂方法,而不是实例化条件对象。从这里,您可以定义代码所特有的AppSetting。 ContentManager使用了几种类型的标准对象,因此您甚至可以使工厂方法通用。

private T GetContentCriteria<T>() where T : ContentCriteria, new()
{
    // Sorting by Id descending will ensure newer content blocks are favored over older content.
    var criteria = new T
    {
        OrderByField = ContentProperty.Id,
        OrderByDirection = EkEnumeration.OrderByDirection.Descending
    };

    int maxRecords;
    int.TryParse(ConfigurationManager.AppSettings["CmsContentService_PageSize"], out maxRecords);

    // Only set the PagingInfo if a valid value exists in AppSettings.
    // The Framework API's default page size of 50 will be used otherwise.
    if (maxRecords > 0)
    {
        criteria.PagingInfo = new PagingInfo(maxRecords);
    }

    return criteria;
}