【问题标题】:Refresh two partial views every few seconds每隔几秒刷新两个局部视图
【发布时间】:2015-02-04 18:43:24
【问题描述】:

我正在使用 MVC4、jquery、VS 进行 c# 代码开发 我试图每隔几秒钟自动刷新两个部分视图。用户可以选择他们想要刷新视图的时间间隔。我有一个下拉列表,其中包含一些值,例如 5、10、30,它们代表用户希望页面刷新的秒数。默认值为 5 秒。我尝试使用 setInterval

 setInterval(function () {
 $.get('/Home/Action1', {}, function (view) {
      $("#div1").html(view);
 })
 }, 10000);
 $.get('/Home/Action2', {}, function (view) {
      $("#div2").html(view);
 })
 }, 10000);

即使我已经给了 10 秒,它仍在不断刷新。我只需要每隔几秒钟刷新两个视图。我还需要能够在打开任何弹出窗口时停止刷新并重新启动刷新。请指教。

谢谢,

【问题讨论】:

  • 你有一个错误的}, 10000); 导致问题。
  • 谢谢特拉维斯!我更正了它,但它只是不断调用局部视图并且应用程序挂起。可能还有其他原因导致这种情况发生。它不是每隔几秒钟刷新一次,而是不停地调用局部视图。任何建议都会有所帮助!

标签: jquery asp.net-mvc asp.net-mvc-4


【解决方案1】:

您必须每 10 秒重新启动一次,将其设置为 5000 以获得 5 秒。

 timer = setInterval(function () {
     $.get('/Home/Action1', {}, function (view) {
          $("#div1").html(view);
     })

     $.get('/Home/Action2', {}, function (view) {
          $("#div2").html(view);
     })
 }, 5000);

当你想结束它时调用它

 clearInterval(timer);

【讨论】:

  • 非常感谢您的快速回复!我会纠正我的错误并尝试。将更新帖子。
  • 再次感谢您!我尝试了您的代码,但页面挂起问题仍然存在。它不停地刷新局部视图,而不是每隔几秒刷新一次。
  • 是否出现任何错误?如果没有,请尝试在设置的时间间隔内发出警报,看看代码是否正在运行。如果警报显示它很可能是您的 ajax 调用失败
  • 我发出了警报,它正在显示。第一次后频率增加。我也在我的 MVC 操作方法中设置了一个断点,我看到它被连续调用。
  • 对不起,我没有故意投反对票。可能是误点击。我很感激你的时间。我要投赞成票。我不是故意投反对票,这是错误的。
猜你喜欢
  • 1970-01-01
  • 2010-12-03
  • 2011-12-07
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 2014-08-20
  • 2014-03-19
相关资源
最近更新 更多