kentico
2016-12-20 5 views 0 likes 
0

Вот моя трансформация:Кентико ASCX преобразование, каждый энный

<%# IsFirst() ? "<div class='row'>" : "" %> 
 

 
<div class='col-xs-12 col-md-3 col-bdlt'> 
 
    <div class='bdlt lt'> 
 
    <asp:PlaceHolder runat="server" Visible='<%# IfEmpty(Eval("Headshot"), false, true) %>'>  
 
     <img src="<%# Eval("Headshot") %>" alt="<%# Eval("Name") %>" class='img-responsive'> 
 
    </asp:PlaceHolder> 
 
    <p class='name'><%# Eval("Name") %><%# IfEmpty(Eval("Accolades"),"</p>",",</p> <p class='accolades'>" + Eval("Accolades") + "</p>") %> 
 
    <p><%# Eval("Copy") %></p>  
 
    </div> 
 
</div> 
 

 
<%# IsLast() ? "</div>" : "" %>

Я бегу Bootstrap, поэтому я оборачивать эти элементы в ряд. Все работает, но в зависимости от количества копий оно выглядит не так, как должно. Что я хотел бы сделать, это есть строка для каждой группы 4.

Так как этот

  • Роу
    • товар
    • товар
    • товар
    • товар
  • Строка
    • пункт и т.д.

Таким образом, после каждого 4-го, закрыть строку DIV, и начать новую. Я думаю, что моя первая строка хороша, это последняя, ​​где я думаю, что логика необходима.

ответ

1

для начала строки, вы хотите, чтобы убедиться, что первая запись начинается ряд:

<%# ((DataItemIndex % 4 == 0) ? "<div class=\"row\">" : "") %> <!-- Start Row --> 

чтобы закрыть строку, вы хотите чтобы убедиться, что las t завершает текущую строку.

<%# (DataItemIndex % 4 == 3 || DataItemIndex == DataRowView.DataView.Count - 1 ? "</div>" : "") %> <!-- Close Row --> 
+0

Спасибо Зак. Я понял по дороге домой, мне нужно было переделать мое условие открытия. Ура! –

1

Вы хотите использовать значение DataItemIndex, и сделать что-то подобное, в сочетании с Modulo

сравнить DataItemIndex% 4 = 3, так как DataItemIndex 0 на основе, поэтому 4-й, 8-й, 12-й строки имеют индекс 3, 7, 11, которые по модулю 4 все 3.

 Смежные вопросы

  • Нет связанных вопросов^_^