kentico ascx 转换,每 n 个
kentico ascx transformation, every nth
这是我的转换:
<%# 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,然后开始新的行。我认为我的第一行很好,这是我认为需要逻辑的最后一行。
您想利用 DataItemIndex 值,并执行类似的操作,再加上 Modulo
您比较 DataItemIndex %4 = 3 因为 DataItemIndex 是从 0 开始的,所以第 4、8、12 行的索引为 3、7、11,其中对 4 取模都是 3。
要开始一行,您要确保第一条记录开始一行:
<%# ( (DataItemIndex % 4 == 0) ? "<div class=\"row\">" : "" ) %> <!-- Start Row -->
要关闭该行,您需要确保最后一条记录结束当前行。
<%# (DataItemIndex % 4 == 3 || DataItemIndex == DataRowView.DataView.Count - 1 ? "</div>" : "") %> <!-- Close Row -->
这是我的转换:
<%# 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,然后开始新的行。我认为我的第一行很好,这是我认为需要逻辑的最后一行。
您想利用 DataItemIndex 值,并执行类似的操作,再加上 Modulo
您比较 DataItemIndex %4 = 3 因为 DataItemIndex 是从 0 开始的,所以第 4、8、12 行的索引为 3、7、11,其中对 4 取模都是 3。
要开始一行,您要确保第一条记录开始一行:
<%# ( (DataItemIndex % 4 == 0) ? "<div class=\"row\">" : "" ) %> <!-- Start Row -->
要关闭该行,您需要确保最后一条记录结束当前行。
<%# (DataItemIndex % 4 == 3 || DataItemIndex == DataRowView.DataView.Count - 1 ? "</div>" : "") %> <!-- Close Row -->