我如何使用一个asp:定时器时间的行动发生在一个按钮单击事件

本文关键字:一个 按钮 单击 事件 定时器 何使用 asp 时间 | 更新日期: 2023-09-27 18:13:11

我有一个允许用户将记录保存到数据库的应用程序。当用户点击保存时,我想显示一个标签,上面写着保存记录,请等待…然后在3秒后,我想要标签说记录保存。最后,再过3秒,我想回到普通视图。以下是我尝试过的:

txtSaveReportAs.Enabled = false;
strSaveNotify = "lblWarning";
lblSaveAs.Text = "Saving Your Data. Please Wait... ";
System.Windows.Forms.Timer Timer1 = new System.Windows.Forms.Timer();
Timer1.Interval = 3000;
Timer1.Start();
strSaveNotify = "lblSuccess";
lblSaveAs.Text = "Data Saved Successfully";
Timer1.Stop();
Timer1.Interval = 3000;
Timer1.Start();
txtSaveReportAs.Enabled = true;
txtSaveReportAs.Text = string.Empty;

当我这样做时,它抵消了我的sqlCommand,所以txtSaveReporAs不会被禁用。此外,strSaveNotify和lblSaveReport as不会更改,也不会将信息保存到数据库中。这是如何做到的呢?

我如何使用一个asp:定时器时间的行动发生在一个按钮单击事件

你正在使用定时器像睡眠,它停止当前线程内的执行-不是我建议你用睡眠代替它,因为它们应该只在有限的情况下使用,而这不是一个。

计时器需要添加一个Tick事件处理程序来工作。当计时器完成3秒时触发事件处理程序。不要在同一组代码中调用Stop(),因为这将在您打开它之后立即关闭它。处理不会在有Timer1.Start()的地方停止并等待,它会继续进行。

你需要查阅计时器的规格说明。

http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.tick (v = vs.110) . aspx