1

我正在使用 foreach 循环渲染 HTML,如下所示:

@foreach (var item in list)
 {
     // some html
 }

但它似乎在开始渲染 HTML 之前迭代了整个循环。我想一一显示(渲染)html(即如果循环迭代100次,那么它应该一一渲染/显示HTML到100)。

注意:为了验证它是否在循环结束时开始呈现 HTML,我确实thread.sleep(100)在循环内放了一个

@foreach (var item in list)
     {
         Thread.Sleep(100);
         // some html
     }

并且如果需要10 mseconds在没有开始呈现 HTML 的情况下sleepthread.sleep它放在1000 mseconds开始呈现 HTML 之前。

关于我应该做什么以使 UI 在循环完成之前不会被冻结的任何建议?它应该在每次迭代完成时呈现 HTML。谢谢你。

4

1 回答 1

1

如果您在 Razor 视图中执行此操作,那么您的所有 HTML 将在发送到客户端之前在服务器上呈现。

如果您想一个一个地渲染某些东西,那么您必须通过 JavaScript 在客户端上执行此操作。

于 2013-11-09T05:07:17.040 回答