【问题标题】:Auto update a table with AJAX使用 AJAX 自动更新表
【发布时间】:2013-10-01 20:47:41
【问题描述】:

我是ASP.Net 的新手,这是我的第一个 ASP 项目。希望你不介意我的问题对某些人来说是如此简单。

我正在编写Student's Forum

Comment.aspx 中,我使用Repeater Control 获取所有评论(针对每个主题)并按时间顺序显示它们。

<asp: Repeater....
....//
</asp: Repeater...>

但是这件事似乎并不像我想象的那样简单。我不仅要显示该主题中的所有评论,还要更新评论添加到数据库的时间。

我可以将 SQL DB 中的所有 cmets 成功加载到转发器,但是我不知道如何在数据库插入新行而不重新加载所有网页的情况下自动更新。

建议我使用AJAX,我尝试查找电子书和一些文档谈论 AJAX,但我很难开始。我真的不知道如何在我的网页上应用 AJAX。

你能告诉我一些有用的文件或一些例子,或者一些建议吗?

【问题讨论】:

    标签: asp.net sql ajax webforms


    【解决方案1】:

    您可以将转发器放在 UpdatePanel 下,而不是每隔几秒刷新一次。我将使用 PageMethod 或 jquery(如果允许)创建一个非常轻量级的 ajax 方法来检查计数是否更改,如果只有计数发生更改,我们可以触发 updatePanel 刷新。 http://encosia.com/easily-refresh-an-updatepanel-using-javascript/第一次加载页面时,从数据库中获取记录数并放入隐藏字段。下次进行 ajax 调用以获取数据库中的行数并将其与隐藏字段中保存的值进行比较,如果更改则触发 updatepanel 更新。您可以在这两种方法中设置断点,然后查看更新面板刷新是否正在发生。在后面的代码中处理更新面板刷新和更新中继器。

    【讨论】:

    • 谢谢你,我会尽快让你知道结果:p
    • 我是这样做的,我想知道如何测试结果,因为网页在我的本地主机中运行,以手动方式,我在数据库中插入一行(手动),我返回我的网页--> 在我按 F5 重新加载页面之前,它仍然不会更新新行。
    • @VyClarks 我在回答中添加了几种方法。请看一看 。确保您测试每个组件,例如 Updatepanel 正在刷新和获取数据,并且第二个 ajax 调用正在进行正确检查。
    【解决方案2】:

    您可以点击此链接。通过这篇文章,您还将了解 AJAX

    Refresh Grid After some interval

    Gmail style update

    希望这会对您有所帮助。如需进一步帮助,请更新。

    【讨论】:

    • 好的,在这个例子中,我们在 5 秒后更新。您可以根据自己的需要缩短此时间段。
    • 感谢 Sunny,它对我有用,但事先我只想在数据库更改时更新它(新行插入)???它如何实现数据库的更改和自动更新?
    • 好的,为此您可以做一件事,例如首先检查当前数据源计数,如果它们的计数相同,则将其与新数据源进行比较,然后跳过更新,否则将新数据源提供给网格。
    • 我可以通过脚本或PageMethod进行检查吗?我真的不知道怎么办?因为我在数据库中添加新行的功能在另一个页面中
    • 不,你必须在计时器点击事件中检查它。
    【解决方案3】:

    我知道您是 Web 应用程序编程的新手,因此值得阅读一些主题来入门。对于 ajax,请通过此链接-http://www.w3schools.com/ajax/default.asp

    有一个非常好的 JavaScript 库非常有用 - “jQuery”

    您可以在这里查看 - http://www.w3schools.com/jquery/jquery_intro.asp

    您还可以访问 jQuery 网站了解更多信息以及如何将其包含在您的项目中。

    【讨论】:

      猜你喜欢
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多