【发布时间】:2010-06-23 06:11:09
【问题描述】:
我正在做一些网格工作,就像证券交易所应用程序一样,它具有良好的数据量,并且页面应该在提到的时间(例如 1 分钟或 30 秒)后自动刷新而不会被回发。
最好的方法是什么?我应该使用带有 ajax 的网格还是应该使用带有 ajax 和 Web 服务的网格?如果可能的话,请参考我一些关于您的建议实施的文章或链接。
【问题讨论】:
标签: asp.net .net-3.5 asp.net-2.0
我正在做一些网格工作,就像证券交易所应用程序一样,它具有良好的数据量,并且页面应该在提到的时间(例如 1 分钟或 30 秒)后自动刷新而不会被回发。
最好的方法是什么?我应该使用带有 ajax 的网格还是应该使用带有 ajax 和 Web 服务的网格?如果可能的话,请参考我一些关于您的建议实施的文章或链接。
【问题讨论】:
标签: asp.net .net-3.5 asp.net-2.0
您可以使用UpdatePanel(将网格放置在面板内),并且可能有一个 JavaScript 计时器定期指向update the panel。
或者,您可以有一个直接的 HTML 表格并定期调用 Web 服务并从客户端更新表格。我认为你会获得稍微好一点的性能,但需要做更多的工作。
来自 JavaScript 的 Web 服务调用不会导致回发。调用 web 服务时,您可能会获得更好的性能,因为您只获取数据而不是格式化的 HTML。但是,您可能会以 XML 或 Json 格式返回数据,因此会有开销(Json 在这方面会更好)。
如果您知道在两次刷新之间只有一小部分值会发生变化,那么您将通过仅返回已更改的值来获得更好的性能。
如果您对 JavaScript 不是很有经验,那么我建议您使用 jQuery 之类的库。您可以阅读以下资源了解实现细节:
Calling an ASP.NET webservice with jQuery
Updating an HTML table from Json data using jQuery
根据您对 Web 服务、Json 和 jQuery 的经验,这可能不是一件容易的事。 UpdatePanel 选项绝对更容易实现。
【讨论】: