【问题标题】:Call a function every 30 sec每 30 秒调用一次函数
【发布时间】:2011-11-06 03:19:52
【问题描述】:

我有一个页面函数,需要每 30 秒调用一次。 我该怎么做?

这是我需要调用的代码:

protected void GetMachines_Click(object sender, EventArgs e)
{           
    ArrayList machinesList = new ArrayList();

    GetValFromMachines(machinesList);
}    

请帮忙..谢谢

【问题讨论】:

  • 澄清一下,您需要如何调用它?在服务器上? (在这种情况下,最好使用单独的线程,这样它就不会阻塞 Web 应用程序的任何内容。)还是来自客户端? (在这种情况下,客户端可以选择停止此调用。)
  • 如果你使用下面建议的 (顺便说一句,这将起作用),它可能会导致完整的回发,除非包装在它自己的 updatePanel 中,这是需要的吗?
  • david .. 它应该是一个客户端.. 所以我想放一个复选框,如果选中它将停止自动刷新..
  • kd7.. 我不想要一个完整的回发我只想调用 GetMachines_Click 函数.. 这可能吗?谢谢大家
  • 如果有人知道此类问题的示例案例代码,那就太好了?谢谢

标签: c# .net asp.net refresh


【解决方案1】:

您可以为此使用<asp:Timer> 控件。

http://www.google.co.uk/search?sourceid=chrome&ie=UTF-8&q=asp.net+timer

需要使用<asp:ScriptManager>

编辑

这将导致页面的完整回帖,因此您需要在页面上放置<asp:UpdatePanel 以仅更新您希望的内容。

但是,我停止使用 <asp:Timer><asp:UpdatePanel>,转而使用 WCF Ajax 服务进行此类更新。您可以在 ScriptManager 中添加对 WCF 服务的引用,然后您可以通过 Javascript 调用方法。我觉得它只是让您更好地控制通过 AJAX 传递的数据量,并且还停止了整页回发。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 2018-05-17
  • 2018-02-16
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
相关资源
最近更新 更多