schrijf elke vierde rij <div> en </div> uit

ik probeer divs elke vierde rij uit te schrijven, maar ik ben vandaag in een of andere zombie-modus dat ik er niet uitkom. het ziet er zo uit

<% 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>
    <%} %>
<%  } %>

ik wil het zijn

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

2 antwoord

De gewenste toestand is dit:

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

Voorbeelden:

(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
toegevoegd
bedankt, het is maar een van die dagen.
toegevoegd de auteur Dejan.S, de bron

Geen ASP-programmeur, maar het feit dat je count aan het begin van de lus verhoogt, kan je berekeningen afstoten, vooral omdat je modulo gebruikt. count is nooit nul in je loop. Probeer de telling op te tellen bij de laatste regel in je lus en je modulo's moeten logischer zijn.

Onbeproefd:

<% 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++;
} %>

Dit zou moeten lijken op:

    <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
toegevoegd