Количество элементов для отображения в Javascript

Я использую веб-часть поиска контента на SP 2013, я пытаюсь получить значение для параметра Число элементов для отображения в Javascript из объекта ctx. Я пробовал ctx.ListData.ResultTables[0].RowCount, но похоже, что это значение относится только к счетчику на текущей странице, а не к параметру "Количество элементов для отображения" в конфигурации веб-части.

Количество элементов для отображения значения в пользовательском интерфейсе

Кроме того, знаете ли вы, где я могу найти больше информации о том, как отлаживать объект ctx или свойства или методы, которые он использует. Любая помощь будет оценена. Заранее спасибо.

1 ответ

Решение

Мы можем использовать JSOM для достижения этой цели. Следующий код для вашей справки.

<script type="text/javascript"> 
ExecuteOrDelayUntilScriptLoaded(retrieveWPProperties, "sp.js");
function retrieveWPProperties(){
    var pageurl=_spPageContextInfo.serverRequestPath; //current page
    var currentCtx = new SP.ClientContext.get_current();
    var pageFile = currentCtx.get_web().getFileByServerRelativeUrl(pageurl);
    var webPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared);
    var webPartDefs = webPartManager.get_webParts();
    currentCtx.load(webPartDefs, 'Include(WebPart.Properties)');
    currentCtx.executeQueryAsync(
    function () {
        if (webPartDefs.get_count()) {
            for (var i = 0; i < webPartDefs.get_count() ; i++) {
                var webPartDef = webPartDefs.getItemAtIndex(i);
                var webPart = webPartDef.get_webPart();
                var properties = webPart.get_properties();              
                //console.log(JSON.stringify(properties.get_fieldValues())); //print all properties
                if(properties.get_fieldValues().Title=="Content Search"){
                    var resultsPerPage=properties.get_fieldValues().ResultsPerPage;
                    alert(resultsPerPage);
                }
             }
        }
        else {
            console.log("No web parts found.");
        }
    },
    function (sender, args) {
        console.log(args.get_message());
    });
}
</script>

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