Менеджер каталогов Commerce Server SearchOptions setPaging

Я использую этот метод:

http://msdn.microsoft.com/en-US/library/microsoft.commerceserver.catalog.commonsearchoptions.setpaging.aspx

в качестве таких:

        CatalogSearch p = catalogContext.GetCatalogSearch();
        p.CatalogNames = "**";
        p.SearchOptions = new CatalogSearchOptions();
        p.SearchOptions.SetPaging(1, 400);
        p.SearchOptions.ClassTypes = CatalogClassTypes.ProductClass;

Как правило, я бы тогда сделал p.Search() и получить CatalogItemsDataSet, Это отлично. Что я не могу понять, как я могу перейти к следующей странице результатов? Мой запрос вернет около 7500 результатов с максимум 500 на поисковый вызов, что недостаточно. Должен ли я сделать это вручную?

1 ответ

Вы должны зациклить или рекурсировать Search вызов, увеличивая pageNumber по размеру вашей страницы каждый раз. Размер вашей страницы равен 400, поэтому код подкачки в цикле может выглядеть следующим образом p.SearchOptions.SetPaging(lastPageNumber + 400); Вы останавливаетесь, когда Search метод out totalRecords меньше размера страницы.

Другие вопросы по тегам