【发布时间】:2013-02-27 15:56:24
【问题描述】:
我正在开发一个 ASP.NET 网站,我创建了一个加载大量数据的新页面,因此加载整个页面需要一些时间,但我将加载我的页面渐进式,这样每当用户下线时,页面的更多细节就会被加载(比如谷歌图片搜索或 Facebook 页面),我有什么选择?
【问题讨论】:
-
谢谢,看起来不错,我应该使用网络服务来实现这项技术吗?
我正在开发一个 ASP.NET 网站,我创建了一个加载大量数据的新页面,因此加载整个页面需要一些时间,但我将加载我的页面渐进式,这样每当用户下线时,页面的更多细节就会被加载(比如谷歌图片搜索或 Facebook 页面),我有什么选择?
【问题讨论】:
严格来说,您所描述的并不是渐进式页面加载 - 它实际上是指浏览器在页面完成下载之前(即在它到达</html> 结束标记之前)呈现页面的能力。
无论如何,显然 jQuery 是您的第一个也是最明显的解决方案 - 定义一个简单的 Web 服务方法(我强烈建议使用 ASP.NET MVC 而不是 WebForms),它是来自您的 jQuery 代码的 AJAX 调用。我建议返回 JSON,它可以让您更灵活地控制客户端呈现。
我强烈建议不要在窗口滚动事件中加载更多数据 - 这是一种非常糟糕的用户体验(即用户希望到达页面底部,而不是让它跳开)。相反,我建议使用一个大按钮,上面写着“加载更多”)。
为了不支持脚本和任何蜘蛛的客户端,我还建议在 ASP.NET 返回的初始 HTML 中返回第一批结果。另外,这意味着用户不必等待页面返回,然后再次等待 AJAX 调用完成。
【讨论】: