2012-02-16 39 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++; %> 
<% } %> 
相关问题