Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计时器在ASP.net中工作不正常_C#_Asp.net_Timer_Label - Fatal编程技术网

C# 计时器在ASP.net中工作不正常

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

我有一个程序,在2秒钟后它将刷新并检查数据库中是否有更改。如果是,则会刷新显示的数据

这是我的密码

在我的页面加载中有以下代码

 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条件