我正在构建类似于价格比较网站的东西。这将在 ASP.NET/WebForms/C#/.NET 3.5 中开发。该网站将由公众使用,因此我无法控制客户端 - 而且该应用程序对于他们的生活来说并不是那么重要,以至于他们会不遗余力地让它发挥作用。
我想要一个表格/网格,在行中显示产品,在列中显示 vendor ,在单元格中显示价格。价格更新将持续到达(服务器),我想将任何更新“推送”到客户端的浏览器 - 理想情况下仅更新已更改的内容。因此,如果 vendor A 更改了产品 B 的价格,我希望立即更新正在查看此信息的所有浏览器中的相关单元格。
我不想使用任何浏览器插件(例如 Silverlight)。 JavaScript 很好。
最好的方法是什么?
大概我的选择是:
1) 让客户端页面不断轮询服务器以获取更新,找到正确的单元格并更新它;或者 2) 让服务器能够将更新发送到所有正在监听这些更新的打开的浏览器页面。
第一个似乎是最合理的,但我不想限制 SO 社区的集体智慧。
我很高兴购买任何可能对此有所帮助的第三方组件(例如网格)。我已经有了 DevExpress grid/ajax 组件(如果它们提供了任何有用的东西的话)。
最佳答案
我认为你的直觉是正确的,拉模型更容易构建。 iWeasel 提到了 Ajax,我想向您指出 Dave Ward 在 jQuery, Ajax and PageMethods 上的帖子在 Asp.Net 中。他的博客有一个精彩的系列,将帮助您实现您想要做的事情。
为了验证 Dave 的方法,Rick Strahl has a great article也在 jQuery 和 Asp.net 上,在他的示例中,他以类似网格的格式显示产品。
虽然我没有使用此 jQuery 插件的经验,但您可能想研究一下 jQuery Timer帮助您调整时间间隔。
关于asp.net - 如何 "push"更新 (ASP.NET) 网页表格/网格中的各个单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/839545/