渐进式加载,ASP.NET MVC

Cie*_*iel 1 asp.net-mvc asp.net-mvc-2

我有一个页面必须呈现大量的查询结果 - 大多数都有非常非常小的图像.它已经分页,所以这不会解决我的问题.

查询执行正常 - 它非常活泼,返回大约.0004秒,将自己分页到视图 - 一切都在Oz的土地上.

但是,ASP.NET MVC在准备好时会转储页面,而不是在加载页面时会出现一些大麻烦.有没有办法解决?

我尝试使用jQuery来绘制div层并绘制局部视图 - 这缓解了一些问题,但它仍然只是"挂起"在页面上,直到整个事情准备好被绘制.

我环顾四周,发现了一些关于使用Response.Write的建议 - 但我无法发现与我的案例相关的任何内容.有任何想法吗?结构如下......

PartialView
- Category
  - IEnumerable<Models.Images> (List)

PartialView
- Page
  - IEnumerable<Models.Images> (List) (Paginated View)

View
- Gallery
-- Index
--- Categories (Ajax Loaded on Demand, not on View render.)
---- ViewPage (No specific model passed)
Run Code Online (Sandbox Code Playgroud)

问题显然是图像,我已经多次测试了.如果我从代码中删除标签,它会快速呈现我告诉它的任何数据.每张图像大小约为4 kb - 因此压缩它们的可能性不大.

任何帮助将不胜感激.

Ste*_*ham 5

你可以做几件事.

首先,确保结果本身不在表格内.IE(可能还有其他浏览器)必须等到表完全加载后再渲染到浏览器.

其次,有一个名为Response.Flush的命令,它将缓冲输出推送到客户端.你可以反复打电话.例如,您可能希望每10个项目调用一次.如果您可以将其合并到您的代码中,它应该为您完成.