2012-02-16 78 views
0

我一直在嘗試使用表創建一個簡單的日曆界面,但我一直在討厭「內存不足」的例外....我錯過了什麼嗎?有一個更好的方法嗎?OOM異常試圖創建一個簡單的日曆界面

只是爲了說明,TimePeriod1TimePeriod2只是分月的日子,即第1-15天和第16-29天。

 <tbody> 
      <% int days = Model.TimePeriod1.Count + Model.TimePeriod2.Count; 
       int day = 1; 
       while (day < days) { %> 
        <tr> 
        <% while ((day % 7) != 0){ %> 
         <td><%: day++ %></td> 
        <% } %> 
        </tr> 
       <% } %> 
     </tbody> 

回答

1

day達到7號,這將打破內,同時,回到第二個。如果days大於7,它將繼續循環,但會再次進入內部,這就是爲什麼你會得到一個OOM異常。

一種可能的解決方案是在第一而結束前添加day++

<% 
int days = Model.TimePeriod1.Count + Model.TimePeriod2.Count; 
int day = 1; 
while (day < days) { %> 
    <tr> 
    <% while ((day % 7) != 0){ %> 
     <td><%: day++ %></td> 
    <% } %> 
    </tr> 
    <% day++; %> 
<% } %>