上下文天冬氨酸计时器滴答事件中断客户端的JavaScript
我正在监视服务的Web应用程序。对于每项服务,我都有一个UpdatePanel
,状态和按钮用于启动,停止和重新启动服务。这些都是由Repeaters创建的,并且工作正常。
现在我已经添加了一个asp:Timer
作为所有UpdatePanel
的触发器,因为我希望状态响应地更新,所以我需要的间隔相当小。
的问题
我目前没有与这个两个问题。主要问题(标题中)是,当单击按钮时,我使用的是使用SweetAlert2的javascript来显示警告并等待用户输入。如果在此脚本中计时器发生滴答,它会中断。警告提示保持不变,但由于后台中的脚本已被中断,因此单击“确认”将不会执行任何操作。
第二个也是更为次要的问题是,在打勾期间,当UpdatePanel
更新时,按钮在一秒钟内没有反应。这不是一个超级大问题,但如果您在打勾期间设法点击,则必须点击按钮两次,这很烦人。由于我想保持计时器间隔相当小,这实际上经常发生。
我曾经想过做
对于第一个问题,我真的不知道该怎么办。我可以在另一个线程上运行定时器吗?那会甚至像我想要的那样工作?我应该在JavaScript运行时暂停计时器吗?
对于第二个问题,我可以做一个解决方法,把按钮放在他们自己的UpdatePanel
什么的。主要的原因我想在UpdatePanel
按钮是取决于服务的状态来改变显示哪些:
// Set button visability and status color
if (service.Status.Equals(ServiceControllerStatus.Running))
{
statusSpan.Attributes.Add("class", "status-run");
btnStart.Visible = false;
}
else
{
statusSpan.Attributes.Add("class", "status-stop");
btnStop.Visible = false;
btnRestart.Visible = false;
}
我想我主要是寻找解决这一最“正确”的方式“刷新问题“在Web窗体应用程序中。但只要它完成了工作,我会采取任何“黑客”解决方案。