Как определить длину списка в RedDot?

У меня есть страница с прикрепленным элементом списка. Как определить количество элементов в этом списке? Можно использовать теги рендеринга, asp или любую другую технику (если она работает!)

3 ответа

Решение

Читая документацию по тэгам рендеринга, я думаю, что возможно сделать это лучше

Таким образом, получение элемента списка с помощью этого

Контекст:CurrentPage.Elements.GetElement(lst_myPages).Value

Свойство Value должно возвращать коллекцию страниц для элементов списка, чтобы вы могли

Контекст:CurrentPage.Elements.GetElement(lst_myPages).Value.Count

<!IoRangePreExecute>
  <% lst_myPagesSize = 0 %>

  <!IoRangeList>
    <% lst_myPagesSize = lst_myPagesSize + 1%>
    <!IoRangeRedDotMode><!--[if !IE]><%lst_myPages%><![endif]--><!/IoRangeRedDotMode>  
  <!/IoRangeList>

<!/IoRangePreExecute>

Я думаю, что это самый быстрый способ. Первый счетчик = 0. Затем в диапазоне списка увеличьте счетчик (имейте в виду, что заполнитель списка тоже включается в этот блок). После этого у вас есть значение в счетчике.

По-видимому, единственный способ сделать это состоит в том, чтобы пройтись по списку, считая каждый элемент, например,

<reddot:cms>
<foreach itemname="testList"
         object="Context:CurrentPage.Elements.GetElement(lst_myPages).Value"
         countername="listCounter">
</foreach>
</reddot:cms>

Длина тогда доступна как:

<%!! Store:listCounter !!%>

В OpenText используйте этот тег рендеринга, чтобы получить длину списка (имя элемента списка: lst_Navigation):

<%!! Context:CurrentPage.GetElementByName(lst_Navigation).GetLinkedContents().Count !!%>

Контекст /RDObj: через ObjectLoader Context (псевдоним: RDObj) вы получаете доступ к объектам Management Server

CurrentPage: возвращает объект страницы с текущей страницы

GetElementByName: метод из объекта страницы для получения элемента страницы по имени

GetLinkedContents: возвращает объект LinkList

Count: возвращает количество элементов LinkList

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