4行おきに<div>と</div>を書き出します

私はdivsを4行ごとに書くつもりですが、私はそれを理解することができませんいくつかのちょっとゾンビモードで今日。それはこのように見える

<% var count = 0; var totalCount = 0; foreach (var item in Model)
   {
       count++; totalCount = Model.Count(); %>
<% if (count % 5 == 0 || count == 1) {%>
   <div class="row-me">
<%} %>

    <div>
        

<%= item.Name %>

 
    </div>

    <% if (count % 4 == 0 || count == totalCount)
       {%>
         </div>
    <%} %>
<%  } %>

私はそれが欲しい

<div class="row-me">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
0
追加された 編集された
ビュー: 3

2 答え

必要な条件は次のとおりです。

if ((count - 1) % 4 == 0)

例:

(1 - 1) % 4 = 0
(2 - 1) % 4 = 1
(3 - 1) % 4 = 2
(4 - 1) % 4 = 3
(5 - 1) % 4 = 0
(6 - 1) % 4 = 1
(7 - 1) % 4 = 2
(8 - 1) % 4 = 3
1
追加された
おかげさまで、その日のうちの1つです。
追加された 著者 Dejan.S,

ASPプログラマではありませんが、ループの先頭で count をインクリメントしているということは、特にモジュロを使用しているので、計算をオフにする可能性があります。 count はループ内で決してゼロにはなりません。あなたのループの最後の行でカウントを増やしてみると、あなたのモジュロはもっと理にかなっています。

未テスト:

<% var count = 0; var totalCount = 0; foreach (var item in Model)
   {
       totalCount = Model.Count(); %>
<% if (count % 4 == 0) {%>
   <div class="row-me">
<%} %>

    <div>
        

<%= item.Name %>

 
    </div>

    <% if (count % 4 == 0 || count == totalCount)
       {%>
         </div>
    <%} %>
<%  count++;
} %>

これは次のようになります。

    <div class="row-me"><div>

...

</div></div>   <!-- count = 0 --> 
    <div>

...

</div>                             <!-- count = 1 --> 
    <div>

...

</div>                             <!-- count = 2 --> 
    <div>

...

</div>                             <!-- count = 3 --> 
    <div class="row-me"><div>

...

</div></div>   <!-- count = 4 --> 
    <div>

...

</div>                             <!-- count = 5 --> 
    <div>

...

</div>                             <!-- count = 6 --> 
    <div>

...

</div>                             <!-- count = 7 --> 
    <div class="row-me"><div>

...

</div></div>   <!-- count = 8 --> 

Where ... is the output of item.Name

0
追加された