Timer_Tick在ASP.net中无法正常工作

时间:2014-05-05 09:59:07

标签: 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>(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时,它会立即变为灰色。

我的代码出了什么问题?

0 个答案:

没有答案