выписать <div>и </div> каждый четвертый ряд - PullRequest
0 голосов
/ 27 октября 2011

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

<% 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>
        <h2>
            <%= item.Name %>
        </h2>
    </div>

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

я хочу, чтобы оно было

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

Ответы [ 2 ]

1 голос
/ 27 октября 2011

Требуемое условие:

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
0 голосов
/ 27 октября 2011

Не программист на 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>
        <h2>
            <%= item.Name %>
        </h2>
    </div>

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

Это должно выглядеть следующим образом:

    <div class="row-me"><div><h2>...</h2></div></div>   <!-- count = 0 --> 
    <div><h2>...</h2></div>                             <!-- count = 1 --> 
    <div><h2>...</h2></div>                             <!-- count = 2 --> 
    <div><h2>...</h2></div>                             <!-- count = 3 --> 
    <div class="row-me"><div><h2>...</h2></div></div>   <!-- count = 4 --> 
    <div><h2>...</h2></div>                             <!-- count = 5 --> 
    <div><h2>...</h2></div>                             <!-- count = 6 --> 
    <div><h2>...</h2></div>                             <!-- count = 7 --> 
    <div class="row-me"><div><h2>...</h2></div></div>   <!-- count = 8 --> 

Где... - это вывод item.Name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...