2012-02-03 55 views
1

我在这个循环中遇到了内存不足的异常...但是,它甚至没有达到第二次迭代。抛出异常时日期索引为0。C#OutOfMemoryException

<% int date = 0; %> 
    <% while (date < Model.TimePeriod1.Count) { %> 
     <tr> 
     <% for (int i = 0; i < 7; i++) 
      { %> 
       <td><%: Model.TimePeriod1[date] %></td> 
        date = date + 1; 
        <% } %> 
     </tr> 
    <% } %> 

回答

5

您的date = date + 1;是html,不是代码;因此它永远不会改变date,因此它会使用输出缓冲区填充整个内存以获得大量和大量的Model.TimePeriod1[0]。添加蜜蜂之后%></td>

<tr> 
    <% for (int i = 0; i < 7; i++) 
     { 
      %><td><%: Model.TimePeriod1[date] %></td><% 
      date = date + 1; 
     } %> 
    </tr> 
+1

+1好点:)对我来说太早了。 – leppie 2012-02-03 06:44:35