我是asp.net的新手。我正在开发一个网络保护的应用程序,如果用户尝试使用错误的密码登录三次,应该阻止用户。
我将禁用登录按钮10分钟,然后我将启用它。
这是界面
这是计时器代码
protected void timer1_tick(object sender, EventArgs e)
{
timer--;
if (timer == 0)
{
Button1.Enabled = true;
Timer1.Enabled = false;
Label1.Visible = false;
}
}
但是当我运行应用程序时,10分钟后它会刷新页面而不启用登录按钮
答案 0 :(得分:2)
如果您使用的是System.Tmers.Timer
,请致电:
Timer1.Start();
如果您使用System.Threading.Timer
,则应立即开始。构造函数中的第三个参数是dueTime
,它是:
调用回调之前的延迟时间(以毫秒为单位)。指定Timeout.Infinite以防止计时器启动。指定零(0)立即启动计时器。
因此,如果这不是零,那么在dueTime
和period
都过去之前,您的计时器才会首次触发。所以如果你有:
var timer1 = new Timer(callback, state, 10000, 10000);
第一次发射将在20秒后发射,然后每隔10秒发射一次。如果您希望每10秒触发一次,则需要将{0}指定为dueTime
:
var timer1 = new Timer(callback, state, 0, 10000);