C# 计时器在ASP.net中工作不正常
我有一个程序,在2秒钟后它将刷新并检查数据库中是否有更改。如果是,则会刷新显示的数据 这是我的密码 在我的页面加载中有以下代码C# 计时器在ASP.net中工作不正常,c#,asp.net,timer,label,C#,Asp.net,Timer,Label,我有一个程序,在2秒钟后它将刷新并检查数据库中是否有更改。如果是,则会刷新显示的数据 这是我的密码 在我的页面加载中有以下代码 protected void Page_Load(object sender, EventArgs e) { Timer1.Enabled = true; Timer1.Interval = 2000; Timer1.Tick += new EventHandler<EventArgs>(Timer
protected void Page_Load(object sender, EventArgs e)
{
Timer1.Enabled = true;
Timer1.Interval = 2000;
Timer1.Tick += new EventHandler<EventArgs>(Timer1_Tick);
}
在我的计时器里
private void Timer1_Tick(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("select w_id, cq_num from [dbo].[WindowTeller] where w_stat = 1 ", con);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
w_id = reader.GetInt32(0);
cq_num = reader.GetInt32(1);
if (w_id == 1)
{
if (cqnum1 != cq_num) //compare old value of queue number to present value
{
lblTeller1.Text = w_id.ToString();
lblTeller1.ForeColor = System.Drawing.Color.Red;
if (cq_num == 0)
{
lblQueueNumber1.Text = "";
}
else
{
Prefix1.Text = prefix;
if (cq_num.ToString().Length == 1)
{
lblQueueNumber1.Text = "00" + cq_num.ToString();
}
else if (cq_num.ToString().Length == 2)
{
lblQueueNumber1.Text = "0" + cq_num.ToString();
}
else if (cq_num.ToString().Length == 3)
{
lblQueueNumber1.Text = cq_num.ToString();
}
lblQueueNumber1.CssClass = "blink";
//[END][ADD]
Prefix1.CssClass = "blink";
providesound();
cqnum1 = cq_num;
}
}
else
{
//[START][ADD]<H2_valoramaelagarnia || 4/10/2014 ||Remove Blinking >
lblQueueNumber1.CssClass = "";
Prefix1.CssClass = "";
}
}
else if (w_id == 2)
{
if (cqnum2 != cq_num)
{
lblTeller2.Text = w_id.ToString();
lblTeller2.ForeColor = System.Drawing.Color.Red;
if (cq_num == 0)
{
lblQueueNumber2.Text = "";
}
else
{
Prefix2.Text = prefix;
if (cq_num.ToString().Length == 1)
{
lblQueueNumber2.Text = "00" + cq_num.ToString();
}
else if (cq_num.ToString().Length == 2)
{
lblQueueNumber2.Text = "0" + cq_num.ToString();
}
else if (cq_num.ToString().Length == 3)
{
lblQueueNumber2.Text = cq_num.ToString();
}
}
lblQueueNumber2.CssClass = "blink";
Prefix2.CssClass = "blink";
providesound();
cqnum2 = cq_num;
}
else
{
lblQueueNumber2.CssClass = "";
Prefix2.CssClass = "";
}
}
}
con.Close();
con.Open();
SqlCommand cmd2 = new SqlCommand("select w_id, cq_num from [dbo].[WindowTeller] where w_stat = 0", con);
SqlDataReader reader2 = cmd2.ExecuteReader();
while (reader2.Read())
{
w_id = reader2.GetInt32(0);
cq_num = reader2.GetInt32(1);
if (w_id == 1)
{
lblTeller1.Text = w_id.ToString();
lblTeller1.ForeColor = System.Drawing.Color.LightGray;
lblQueueNumber1.Text = "";
Prefix1.Text = "";
}
else if (w_id == 2)
{
lblTeller2.Text = w_id.ToString();
lblTeller2.ForeColor = System.Drawing.Color.LightGray;
lblQueueNumber2.Text = "";
Prefix2.Text = "";
}
}
con.Close();
return;
}
这里将发生的是,当窗口的状态为=0时,文本颜色将变为灰色,当其状态为=1时,文本颜色将变为红色
现在的问题是,2秒后,当状态=1时,标签的颜色不会变为红色。但当我把它改为0时,它立即变成灰色
我的代码有什么问题?添加if!表单加载事件中的ispostback条件