【问题标题】:refresh grid without page post back, please advise刷新网格没有页面回发,请指教
【发布时间】:2010-06-23 06:11:09
【问题描述】:

我正在做一些网格工作,就像证券交易所应用程序一样,它具有良好的数据量,并且页面应该在提到的时间(例如 1 分钟或 30 秒)后自动刷新而不会被回发。

最好的方法是什么?我应该使用带有 ajax 的网格还是应该使用带有 ajax 和 Web 服务的网格?如果可能的话,请参考我一些关于您的建议实施的文章或链接。

【问题讨论】:

    标签: asp.net .net-3.5 asp.net-2.0


    【解决方案1】:

    您可以使用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 选项绝对更容易实现。

    【讨论】:

    • UpdatePanel 是迄今为止最简单/最快的方法。有点像一个可怜的人的 ajax。
    • 感谢 Xavier,我已经尝试过更新面板,但由于数据量大,加载时非常懒惰。关于替代建议,我会尝试。请说明这方面的几点。 1. 如果我使用带有 HTML 表格的 Web 服务会导致回发吗? (对不起,我以前没有使用过服务) 2. 请提供有关其实施细节的链接? 3. 有没有什么方法可以在没有更新面板的情况下使用带有 ajax 的网格,其中可能没有 html 旅行,而只有数据。谢谢
    • 更新了我的答案以解决您的新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多