我有这个程序,在2秒后它会刷新并检查数据库中是否有变化。如果是,那么它将刷新显示的数据。
这是我的代码
在我的页面加载中有这段代码。
protected void Page_Load(object sender, EventArgs e)
{
Timer1.Enabled = true;
Timer1.Interval = 2000;
Timer1.Tick += new EventHandler<EventArgs>(Timer1_Tick);
}
和我的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时,它会立即变为灰色。
我的代码出了什么问题?