当前位置: 代码迷 >> C# >> C# button控件遍历并修改text的有关问题
  详细解决方案

C# button控件遍历并修改text的有关问题

热度:408   发布时间:2016-04-28 08:37:08.0
C# button控件遍历并修改text的问题
我要遍历一个界面中的所有button控件,并根据数据库查询确定button的text的值,button的ID为Button1,Button2等一共四个,以下为代码,可以运行但是没有text的改变,请各位大牛不吝赐教。
protected void Page_Load(object sender, EventArgs e)
    {
        foreach (Control c in this.Controls)
        {
            if (c.GetType() == typeof(Button))
            {
                Button c_btn = c as Button;
                for (int i = 1; i <= 4; i++)
                {
                    if (c_btn.ID == "Button" + Convert.ToString(i))
                    {
                        MySqlConnection conn = new MySqlConnection(ConfigurationManager.AppSettings["dbconnectionstring"]);
                        conn.Open();
                        string sql = @"select count(*) from total_table where goods_shelf ='A" + i + "';";
                        MySqlCommand cmd = new MySqlCommand(sql, conn);
                        int goods_num = Convert.ToInt32(cmd.ExecuteScalar());
                        conn.Close();
                        c_btn.Text = Convert.ToString(goods_num);     
                    }
                }
            }
        }
    }
------解决思路----------------------
 if (c_btn.ID == "Button" + Convert.ToString(i))应该不是ID而是Name属性吧,其他看上去貌似没啥错误,其实你断点跑一下马上就知道了
------解决思路----------------------
sql语句查询出来的东西需要转化的,
 int goods_num = Convert.ToInt32(cmd.ExecuteScalar());
cmd.ExecuteScalar()你看看这个东西执行后有值没有,是什么类型的,一般查询出来的东西转成集合再取出来。你这块感觉不太对
  相关解决方案