но при перезагрузке страницы выводились следущие 50 элементов
что это значит? ты же понимаешь что, для того чтобы запрос выдал что-то другое, в нем должно что-то изменится? Например параметр в GET-е (как собственно в битриксе и сделано, параметр ?PAGEN_1=2) или у тебя в куке какой-то инкремент, от чего зависит показ следующих 50 элементов?
В общем случае запрос будет выглядеть так
\Bitrix\Main\Loader::includeModule('iblock');
$iblockId = 2;
$nPageSize = 50;
$iNumPage = 1;
$arElements = array();
$dbRes = CIBlockElement::GetList(array('ID' => 'ASC'), array('IBLOCK_ID' => $iblockId), false, array('nPageSize' => $nPageSize, 'iNumPage' => $iNumPage), array('ID', 'NAME'));
while($arRes = $dbRes->Fetch()) {
$arElements[] = $arRes;
}
echo '<pre>';
print_r($arElements);
echo '</pre>';
Увеличиваай $iNumPage и будешь получать сдвиг $nPageSize записей