【问题标题】:Up to date asp.net page最新的 asp.net 页面
【发布时间】:2010-11-06 11:20:39
【问题描述】:

我的网站上有一个页面,可以查看数据库中的生活信息(如交易所信息) 我想要的是: 通过 AJAX 技术刷新页面的一部分 当向数据库中的一个表添加新行时。

【问题讨论】:

  • 非常感谢我的朋友 Bernhard 但是.. 我对 ajax 和 asp.net 有一个好主意,所以我想要一个具体的答案... 关于处理数据库和 ajax

标签: asp.net ajax refresh


【解决方案1】:

您应该采用的技术是“轮询

在这种情况下,您无法从服务器向客户端发送通知,因此您需要每隔 X 秒轮询一次服务器,询问服务器“您有任何新数据吗?”

让您的应用程序中有 2 个启用 AJAX 的服务。

应该每隔 X 秒轮询一次,询问数据库状态。如果自上次轮询以来数据库中插入了任何新数据,此服务应返回 true。

如果第一个服务调用的结果为真,那么您应该调用第二个服务,它将返回新插入的行或 XML 或任何其他格式的结果,您可以在页面上舒适地显示。

但是,您必须按请求的日期时间跟踪上次轮询请求。每次发送轮询请求时,您还应该传递上次轮询的 DateTime,以便您的服务可以检查上次轮询后是否添加了任何新数据,并且只有在上次轮询后插入任何新数据时才返回 true。同样的逻辑也应该应用于第二个服务。

谢谢。

【讨论】:

    【解决方案2】:

    所以要明确一点:当数据库中的某些内容发生更改时,您希望每个查看您网站上显示该数据的页面的人都通过添加刷新?这与 AJAX 通常的工作方式相反(用户端发生了一些变化并通知应用程序)。

    您可以添加代码以使用 AJAX 计时器每隔 x 秒(假设是 30 秒)执行一次 AJAX 回发。这样,只有页面的那一部分被更新(AJAX 样式),用户在数据更新和显示之间只有 30 秒的延迟。 Here 就是我的意思的一个例子。

    【讨论】:

    • 是的,无法完成 OP 要求的操作(服务器不知道查看该页面的浏览器,因此无法要求它们刷新)。这几乎完成了相同的事情,服务器可以控制您想要刷新页面的频率。 +1
    【解决方案3】:

    如果您想走 Microsoft 路线,您可能需要先观看一些可帮助您开始使用 ASP.NET AJAX 的教程:http://www.asp.net/learn/ajax

    【讨论】:

      猜你喜欢
      • 2014-11-02
      • 2014-03-09
      • 2011-01-06
      • 2012-01-13
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多