2011-10-27 25 views
0

即時嘗試寫出div每隔四行,但即時通訊在一些有點殭屍模式今天,我無法弄清楚。它看起來像這樣寫出<div> and</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> 

回答

1

你想要的條件是這樣的:

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

感謝,它只是那些日子之一的輸出。 –

0

不是一個ASP程序員,但是你增加了在循環頂部的可能會導致計算結果丟失,尤其是在您使用模數之後。 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